diff --git a/guides/source/configuring.md b/guides/source/configuring.md
index aa66376d5db0b3ae0e50b448c6742373db37d39c..938ba2c89f11b8259928c09cf852667335c83f14 100644
--- a/guides/source/configuring.md
+++ b/guides/source/configuring.md
@@ -114,7 +114,7 @@ numbers. New applications filter out passwords by adding the following `config.f
defaults to `:debug` for all environments. The available log levels are: `:debug`,
`:info`, `:warn`, `:error`, `:fatal`, and `:unknown`.
-* `config.log_tags` accepts a list of methods that the `request` object responds to. This makes it easy to tag log lines with debug information like subdomain and request id - both very helpful in debugging multi-user production applications.
+* `config.log_tags` accepts a list of: methods that the `request` object responds to, a `Proc` that accepts the `request` object, or something that responds to `to_s`. This makes it easy to tag log lines with debug information like subdomain and request id - both very helpful in debugging multi-user production applications.
* `config.logger` accepts a logger conforming to the interface of Log4r or the default Ruby `Logger` class. Defaults to an instance of `ActiveSupport::Logger`.
diff --git a/railties/lib/rails/rack/logger.rb b/railties/lib/rails/rack/logger.rb
index 9962e6d943d2d493a9dcd8e0e59536af75e396a1..7aaa353b91fca7d22e86df093655c7e763f9049a 100644
--- a/railties/lib/rails/rack/logger.rb
+++ b/railties/lib/rails/rack/logger.rb
@@ -7,6 +7,9 @@
module Rails
module Rack
# Sets log tags, logs the request, calls the app, and flushes the logs.
+ #
+ # Log tags (+taggers+) can be an Array containing: methods that the request object responds to, a Proc
+ # that accepts an instance of the request object, or something that responds to to_s.
class Logger < ActiveSupport::LogSubscriber
def initialize(app, taggers = nil)
@app = app