[from now] 2013/07/31 15:59:12

diff --git a/guide/conf/config/logging.gdoc b/guide/conf/config/logging.gdoc
index 3d74d8f..89a0d8d 100644
--- a/guide/conf/config/logging.gdoc
+++ b/guide/conf/config/logging.gdoc
@@ -97,15 +97,29 @@ Loggers are fundamental to the logging system, but they are a source of some con
 {hidden}
 A logger is the object you log messages to, so in the call @log.debug(msg)@, @log@ is a logger instance (of type [Log|http://commons.apache.org/logging/apidocs/org/apache/commons/logging/Log.html]). These loggers are cached and uniquely identified by name, so if two separate classes use loggers with the same name, those loggers are actually the same instance.
 {hidden}
-ロガーはメッセージを出力するオブジェクトで、@log.debug(msg)@の呼び出しにおいては、@log@が([Log|http://commons.apache.org/logging/apidocs/org/apache/commons/logging/Log.html]型の)ロガーインスタンスです。
+ロガーはメッセージを出力するオブジェクトで、@log.debug(msg)@という呼び出しにおいては、@log@が([Log|http://commons.apache.org/logging/apidocs/org/apache/commons/logging/Log.html]型の)ロガーインスタンスです。
 これらのロガーはキャッシュされ、名前によって一意に識別されます。
+2つの別々のクラスが同じ名前のロガーを使う場合、そのロガーは実際に同一のインスタンスとなります。

+{hidden}
 There are two main ways to get hold of a logger:
+{hidden}
+ロガーを取得するには2つの主な方法があります:

+{hidden}
 # use the @log@ instance injected into artifacts such as domain classes, controllers and services;
 # use the Commons Logging API directly.
+{hidden}
+# ドメインクラスやコントローラ、サービスのようなアーティファクトに注入される@log@インスタンスを使う
+# Commons Logging APIを直接使う

+{hidden}
 If you use the dynamic @log@ property, then the name of the logger is 'grails.app.<type>.<className>', where @type@ is the type of the artifact, for example 'controllers' or 'services', and @className@ is the fully qualified name of the artifact. For example, if you have this service:
+{hidden}
+動的な@log@プロパティを使う場合、ロガーの名前は'grails.app.<type>.<className>'になります。
+この@type@はアーティファクトの種類で、例えば'controllers'や'services'が入ります。
+そして、@className@にはそのアーティファクトの完全修飾名が入ります。
+例えば、このサービスの場合:

 {code:java}
 package org.example
@@ -115,9 +129,15 @@ class MyService {
 }
 {code}

+{hidden}
 then the name of the logger will be 'grails.app.services.org.example.MyService'.
+{hidden}
+ロガーの名前は'grails.app.services.org.example.MyService'となります。

+{hidden}
 For other classes, the typical approach is to store a logger based on the class name in a constant static field:
+{hidden}
+他のクラスでは、定数フィールドにクラス名をベースとしたロガーを格納するのが典型的な方法です:

 {code:java}
 package org.other
@@ -130,7 +150,13 @@ class MyClass {
 }
 {code}

+{hidden}
 This will create a logger with the name 'org.other.MyClass' - note the lack of a 'grails.app.' prefix since the class isn't an artifact. You can also pass a name to the @getLog()@ method, such as "myLogger", but this is less common because the logging system treats names with dots ('.') in a special way.
+{hidden}
+これは'org.other.MyClass'という名前のロガーが生成されます。
+アーティファクトではないクラスには'grails.app.'という接頭辞が付かないことに注意してください。
+"myLogger"のような名前を@getLog()@メソッドに渡すこともできます。
+しかし、ロギングシステムがドット('.')付きの名前を特別な方法で扱うため、これはあまり利用されていません。

 h4. Configuring loggers
[from now] 2013/07/31 18:14:31

diff --git a/guide/conf/config/logging.gdoc b/guide/conf/config/logging.gdoc
index 89a0d8d..c1826ba 100644
--- a/guide/conf/config/logging.gdoc
+++ b/guide/conf/config/logging.gdoc
@@ -158,9 +158,15 @@ This will create a logger with the name 'org.other.MyClass' - note the lack of a
 "myLogger"のような名前を@getLog()@メソッドに渡すこともできます。
 しかし、ロギングシステムがドット('.')付きの名前を特別な方法で扱うため、これはあまり利用されていません。

+{hidden}
 h4. Configuring loggers
+{hidden}
+ロガー設定

+{hidden}
 You have already seen how to configure loggers in Grails:
+{hidden}
+Grailsでロガーをどのように設定するか既に見たことがあるはずです:

 {code:java}
 log4j = {
@@ -168,11 +174,24 @@ log4j = {
 }
 {code}

+{hidden}
 This example configures loggers with names starting with 'org.codehaus.groovy.grails.web.servlet' to ignore any messages sent to them at a level of 'warn' or lower. But is there a logger with this name in the application? No. So why have a configuration for it? Because the above rule applies to any logger whose name _begins with_ 'org.codehaus.groovy.grails.servlet.' as well. For example, the rule applies to both the @org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet@ class and the @org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest@ one.
+{hidden}
+この例では、'org.codehaus.groovy.grails.web.servlet'で始まる名前のロガーに送られてくる、'warn'レベル以下のメッセージは無視するように設定しています。

+{hidden}
 In other words, loggers are hierarchical. This makes configuring them by package much simpler than it would otherwise be.
+{hidden}
+言い換えると、ロガーは階層的です。
+これはパッケージ毎に設定することを、他の設定に比べて非常にシンプルにします。

+{hidden}
 The most common things that you will want to capture log output from are your controllers, services, and other artifacts. Use the convention mentioned earlier to do that: _grails.app.<artifactType>.<className>_. In particular the class name must be fully qualifed, i.e. with the package if there is one:
+{hidden}
+コントローラやサービス、その他のアーティファクトからのログ出力を取得したくなるのは、最も一般的なことです。
+先述した _grails.app.<artifactType>.<className>_ の慣例を使いましょう。
+特に、クラス名は完全修飾名にしなければなりません。
+すなわち、パッケージが存在していれば含めるようにします:

 {code:java}
 log4j = {
@@ -190,17 +209,33 @@ log4j = {
 }
 {code}

+{hidden}
 The standard artifact names used in the logging configuration are:
+{hidden}
+ロギング設定に使われる標準のアーティファクト名です:

+{hidden}
 * @conf@ - For anything under @grails-app/conf@ such as @BootStrap.groovy@ (but excluding filters)
 * @filters@ - For filters
 * @taglib@ - For tag libraries
 * @services@ - For service classes
 * @controllers@ - For controllers
 * @domain@ - For domain entities
+{hidden}
+* @conf@ - @BootStrap.groovy@のような@grails-app/conf@配下にあるもの (フィルタは除く)
+* @filters@ - フィルタ
+* @taglib@ - タグライブラリ
+* @services@ - サービスクラス
+* @controllers@ - コントローラ
+* @domain@ - ドメインエンティティ

+{hidden}
 Grails itself generates plenty of logging information and it can sometimes be helpful to see that. Here are some useful loggers from Grails internals that you can use, especially when tracking down problems with your application:
+{hidden}
+Grails自身、時々役に立つたくさんのロギング情報を生成します。
+特にアプリケーションの問題を追跡するときに利用可能な、Grails内部の便利なロガーを示します:

+{hidden}
 * @org.codehaus.groovy.grails.commons@ - Core artifact information such as class loading etc.
 * @org.codehaus.groovy.grails.web@ - Grails web request processing
 * @org.codehaus.groovy.grails.web.mapping@ - URL mapping debugging
@@ -208,6 +243,14 @@ Grails itself generates plenty of logging information and it can sometimes be he
 * @grails.spring@ - See what Spring beans Grails and plugins are defining
 * @org.springframework@ - See what Spring is doing
 * @org.hibernate@ - See what Hibernate is doing
+{hidden}
+* @org.codehaus.groovy.grails.commons@ - クラスローディング等のような中核となるアーティファクト情報
+* @org.codehaus.groovy.grails.web@ - GrailsのWebリクエスト処理
+* @org.codehaus.groovy.grails.web.mapping@ - URLマッピングのデバッグ
+* @org.codehaus.groovy.grails.plugins@ - Logプラグインの動作
+* @grails.spring@ - Grailsとプラグインが何のSpringビーンを定義するのか
+* @org.springframework@ - Springが何をするのか
+* @org.hibernate@ - Hibernateが何をするのか

 So far, we've only looked at explicit configuration of loggers. But what about all those loggers that _don't_ have an explicit configuration? Are they simply ignored? The answer lies with the root logger.
[from now] 2013/07/31 18:33:02

diff --git a/guide/conf/config/logging.gdoc b/guide/conf/config/logging.gdoc
index c1826ba..003f593 100644
--- a/guide/conf/config/logging.gdoc
+++ b/guide/conf/config/logging.gdoc
@@ -252,7 +252,13 @@ Grails自身、時々役に立つたくさんのロギング情報を生成し
 * @org.springframework@ - Springが何をするのか
 * @org.hibernate@ - Hibernateが何をするのか

+{hidden}
 So far, we've only looked at explicit configuration of loggers. But what about all those loggers that _don't_ have an explicit configuration? Are they simply ignored? The answer lies with the root logger.
+{hidden}
+ここまで、明示的なロガー設定についてだけ見てきました。
+しかし、明示的に設定 _されない_ 全てのロガーについてはどうでしょう？
+あっさりと無視されるのでしょうか？
+その答えはルートロガーに任せます。

 h4. The Root Logger