Skip to content

Commit 002a525

Browse files
committed
Fix xsd error on logging.xml for zh
1 parent 739bd07 commit 002a525

File tree

1 file changed

+23
-39
lines changed

1 file changed

+23
-39
lines changed

src/site/zh/xdoc/logging.xml

Lines changed: 23 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,9 @@
2626
</properties>
2727

2828
<body>
29-
   <section name="日志">
29+
<section name="日志">
3030
<p></p>
31-
     <p>Mybatis 的内置日志工厂提供日志功能,内置日志工厂将日志交给以下其中一种工具作代理:
32-
</p>
31+
<p>Mybatis 的内置日志工厂提供日志功能,内置日志工厂将日志交给以下其中一种工具作代理:</p>
3332
<ul>
3433
<li>
3534
SLF4J
@@ -47,8 +46,8 @@
4746
JDK logging
4847
</li>
4948
</ul>
50-
     <p>MyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具。它会使用第一个查找得到的工具(按上文列举的顺序查找)。如果一个都未找到,日志功能就会被禁用。</p>
51-
     <p>不少应用服务器(如 Tomcat 和 WebShpere)的类路径中已经包含 Commons Logging,所以在这种配置环境下的 MyBatis 会把它作为日志工具,记住这点非常重要。这将意味着,在诸如 WebSphere 的环境中,它提供了 Commons Logging 的私有实现,你的 Log4J 配置将被忽略。MyBatis 将你的 Log4J 配置忽略掉是相当令人郁闷的(事实上,正是因为在这种配置环境下,MyBatis 才会选择使用 Commons Logging 而不是 Log4J)。如果你的应用部署在一个类路径已经包含 Commons Logging 的环境中,而你又想使用其它日志工具,你可以通过在 MyBatis 配置文件 mybatis-config.xml 里面添加一项 setting 来选择别的日志工具。</p>
49+
<p>MyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具。它会使用第一个查找得到的工具(按上文列举的顺序查找)。如果一个都未找到,日志功能就会被禁用。</p>
50+
<p>不少应用服务器(如 Tomcat 和 WebShpere)的类路径中已经包含 Commons Logging,所以在这种配置环境下的 MyBatis 会把它作为日志工具,记住这点非常重要。这将意味着,在诸如 WebSphere 的环境中,它提供了 Commons Logging 的私有实现,你的 Log4J 配置将被忽略。MyBatis 将你的 Log4J 配置忽略掉是相当令人郁闷的(事实上,正是因为在这种配置环境下,MyBatis 才会选择使用 Commons Logging 而不是 Log4J)。如果你的应用部署在一个类路径已经包含 Commons Logging 的环境中,而你又想使用其它日志工具,你可以通过在 MyBatis 配置文件 mybatis-config.xml 里面添加一项 setting 来选择别的日志工具。</p>
5251
<source><![CDATA[<configuration>
5352
<settings>
5453
...
@@ -57,18 +56,15 @@
5756
</settings>
5857
</configuration>]]>
5958
</source>
60-
     <p>logImpl 可选的值有:SLF4J、LOG4J、LOG4J2、JDK_LOGGING、COMMONS_LOGGING、STDOUT_LOGGING、NO_LOGGING,或者是实现了接口 <code>org.apache.ibatis.logging.Log</code> 的,且构造方法是以字符串为参数的类的完全限定名。(译者注:可以参考org.apache.ibatis.logging.slf4j.Slf4jImpl.java的实现)
61-
</p>
62-
     <p>你也可以调用如下任一方法来使用日志工具:
63-
</p>
59+
<p>logImpl 可选的值有:SLF4J、LOG4J、LOG4J2、JDK_LOGGING、COMMONS_LOGGING、STDOUT_LOGGING、NO_LOGGING,或者是实现了接口 <code>org.apache.ibatis.logging.Log</code> 的,且构造方法是以字符串为参数的类的完全限定名。(译者注:可以参考org.apache.ibatis.logging.slf4j.Slf4jImpl.java的实现)</p>
60+
<p>你也可以调用如下任一方法来使用日志工具:</p>
6461
<source><![CDATA[org.apache.ibatis.logging.LogFactory.useSlf4jLogging();
6562
org.apache.ibatis.logging.LogFactory.useLog4JLogging();
6663
org.apache.ibatis.logging.LogFactory.useJdkLogging();
6764
org.apache.ibatis.logging.LogFactory.useCommonsLogging();
6865
org.apache.ibatis.logging.LogFactory.useStdOutLogging();]]></source>
69-
     <p>如果你决定要调用以上某个方法,请在调用其它 MyBatis 方法之前调用它。另外,仅当运行时类路径中存在该日志工具时,调用与该日志工具对应的方法才会生效,否则 MyBatis 一概忽略。如你环境中并不存在 Log4J,你却调用了相应的方法,MyBatis 就会忽略这一调用,转而以默认的查找顺序查找日志工具。
70-
</p>
71-
     <p>关于 SLF4J、Apache Commons Logging、Apache Log4J 和 JDK Logging 的 API 介绍不在本文档介绍范围内。不过,下面的例子可以作为一个快速入门。关于这些日志框架的更多信息,可以参考以下链接:</p>
66+
<p>如果你决定要调用以上某个方法,请在调用其它 MyBatis 方法之前调用它。另外,仅当运行时类路径中存在该日志工具时,调用与该日志工具对应的方法才会生效,否则 MyBatis 一概忽略。如你环境中并不存在 Log4J,你却调用了相应的方法,MyBatis 就会忽略这一调用,转而以默认的查找顺序查找日志工具。</p>
67+
<p>关于 SLF4J、Apache Commons Logging、Apache Log4J 和 JDK Logging 的 API 介绍不在本文档介绍范围内。不过,下面的例子可以作为一个快速入门。关于这些日志框架的更多信息,可以参考以下链接:</p>
7268
<ul>
7369
<li>
7470
<a href="http://commons.apache.org/logging">Apache Commons Logging</a>
@@ -80,32 +76,26 @@ org.apache.ibatis.logging.LogFactory.useStdOutLogging();]]></source>
8076
<a href="http://java.sun.com/j2se/1.4.1/docs/guide/util/logging/">JDK Logging API</a>
8177
</li>
8278
</ul>
83-
     <subsection name="日志配置">
84-
       <p>你可以对包、映射类的全限定名、命名空间或全限定语句名开启日志功能来查看 MyBatis 的日志语句。
85-
</p>
86-
       <p>再次说明下,具体怎么做,由使用的日志工具决定,这里以 Log4J 为例。配置日志功能非常简单:添加一个或多个配置文件(如 log4j.properties),有时需要添加 jar 包(如 log4j.jar)。下面的例子将使用 Log4J 来配置完整的日志服务,共两个步骤:
87-
</p>
79+
<subsection name="日志配置">
80+
<p>你可以对包、映射类的全限定名、命名空间或全限定语句名开启日志功能来查看 MyBatis 的日志语句。</p>
81+
<p>再次说明下,具体怎么做,由使用的日志工具决定,这里以 Log4J 为例。配置日志功能非常简单:添加一个或多个配置文件(如 log4j.properties),有时需要添加 jar 包(如 log4j.jar)。下面的例子将使用 Log4J 来配置完整的日志服务,共两个步骤:</p>
8882
<p></p>
8983
<h4>
9084
步骤 1:添加 Log4J 的 jar 包
9185
</h4>
92-
       <p>因为我们使用的是 Log4J,就要确保它的 jar 包在应用中是可用的。要启用 Log4J,只要将 jar 包添加到应用的类路径中即可。Log4J 的 jar 包可以在上面的链接中下载。
93-
</p>
94-
       <p>对于 web 应用或企业级应用,则需要将 <code>log4j.jar</code> 添加到 <code>WEB-INF/lib</code> 目录下;对于独立应用,可以将它添加到JVM 的 <code>-classpath</code> 启动参数中。
95-
</p>
86+
<p>因为我们使用的是 Log4J,就要确保它的 jar 包在应用中是可用的。要启用 Log4J,只要将 jar 包添加到应用的类路径中即可。Log4J 的 jar 包可以在上面的链接中下载。</p>
87+
<p>对于 web 应用或企业级应用,则需要将 <code>log4j.jar</code> 添加到 <code>WEB-INF/lib</code> 目录下;对于独立应用,可以将它添加到JVM 的 <code>-classpath</code> 启动参数中。</p>
9688
<p></p>
9789
<h4>
9890
步骤 2:配置 Log4J
9991
</h4>
100-
       <p>配置 Log4J 比较简单,假如你需要记录这个映射器接口的日志:
101-
       </p>
92+
<p>配置 Log4J 比较简单,假如你需要记录这个映射器接口的日志:</p>
10293
<source><![CDATA[package org.mybatis.example;
10394
public interface BlogMapper {
10495
@Select("SELECT * FROM blog WHERE id = #{id}")
10596
Blog selectBlog(int id);
10697
}]]></source>
107-
       <p>在应用的类路径中创建一个名称为 <code>log4j.properties</code> 的文件,文件的具体内容如下:
108-
</p>
98+
<p>在应用的类路径中创建一个名称为 <code>log4j.properties</code> 的文件,文件的具体内容如下:</p>
10999
<source><![CDATA[# Global logging configuration
110100
log4j.rootLogger=ERROR, stdout
111101
# MyBatis logging configuration...
@@ -114,23 +104,20 @@ log4j.logger.org.mybatis.example.BlogMapper=TRACE
114104
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
115105
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
116106
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n]]></source>
117-
       <p>添加以上配置后,Log4J 就会记录 <code>org.mybatis.example.BlogMapper</code> 的详细执行操作,且仅记录应用中其它类的错误信息(若有)。</p>
118-
       <p>你也可以将日志的记录方式从接口级别切换到语句级别,从而实现更细粒度的控制。如下配置只对 <code>selectBlog</code> 语句记录日志:
119-
</p>
107+
<p>添加以上配置后,Log4J 就会记录 <code>org.mybatis.example.BlogMapper</code> 的详细执行操作,且仅记录应用中其它类的错误信息(若有)。</p>
108+
<p>你也可以将日志的记录方式从接口级别切换到语句级别,从而实现更细粒度的控制。如下配置只对 <code>selectBlog</code> 语句记录日志:</p>
120109

121110
<source>log4j.logger.org.mybatis.example.BlogMapper.selectBlog=TRACE</source>
122111

123-
       <p>与此相对,可以对一组映射器接口记录日志,只要对映射器接口所在的包开启日志功能即可:</p>
112+
<p>与此相对,可以对一组映射器接口记录日志,只要对映射器接口所在的包开启日志功能即可:</p>
124113

125114
<source>log4j.logger.org.mybatis.example=TRACE</source>
126115

127-
       <p>某些查询可能会返回庞大的结果集,此时只想记录其执行的 SQL 语句而不想记录结果该怎么办?为此,Mybatis 中 SQL 语句的日志级别被设为DEBUG(JDK 日志设为 FINE),结果的日志级别为 TRACE(JDK 日志设为 FINER)。所以,只要将日志级别调整为 DEBUG 即可达到目的:
128-
</p>
116+
<p>某些查询可能会返回庞大的结果集,此时只想记录其执行的 SQL 语句而不想记录结果该怎么办?为此,Mybatis 中 SQL 语句的日志级别被设为DEBUG(JDK 日志设为 FINE),结果的日志级别为 TRACE(JDK 日志设为 FINER)。所以,只要将日志级别调整为 DEBUG 即可达到目的:</p>
129117

130118
<source>log4j.logger.org.mybatis.example=DEBUG</source>
131119

132-
       <p>要记录日志的是类似下面的映射器文件而不是映射器接口又该怎么做呢?
133-
</p>
120+
<p>要记录日志的是类似下面的映射器文件而不是映射器接口又该怎么做呢?</p>
134121

135122
<source><![CDATA[<?xml version="1.0" encoding="UTF-8" ?>
136123
<!DOCTYPE mapper
@@ -142,22 +129,19 @@ log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n]]></source>
142129
</select>
143130
</mapper>]]></source>
144131

145-
<p>如需对 XML 文件记录日志,只要对命名空间增加日志记录功能即可:
146-
</p>
132+
<p>如需对 XML 文件记录日志,只要对命名空间增加日志记录功能即可:</p>
147133

148134
<source>log4j.logger.org.mybatis.example.BlogMapper=TRACE</source>
149135

150136
<p>要记录具体语句的日志可以这样做:</p>
151137

152138
<source>log4j.logger.org.mybatis.example.BlogMapper.selectBlog=TRACE</source>
153139

154-
<p>你应该注意到了,为映射器接口和 XML 文件添加日志功能的语句毫无差别。
155-
</p>
140+
<p>你应该注意到了,为映射器接口和 XML 文件添加日志功能的语句毫无差别。</p>
156141

157142
<p><span class="label important">注意</span> 如果你使用的是 SLF4J 或 Log4j 2,MyBatis 将以 MYBATIS 这个值进行调用。</p>
158143

159-
       <p>配置文件 <code>log4j.properties</code> 的余下内容是针对日志输出源的,这一内容已经超出本文档范围。关于 Log4J 的更多内容,可以参考Log4J 的网站。不过,你也可以简单地做做实验,看看不同的配置会产生怎样的效果。
160-
</p>
144+
<p>配置文件 <code>log4j.properties</code> 的余下内容是针对日志输出源的,这一内容已经超出本文档范围。关于 Log4J 的更多内容,可以参考Log4J 的网站。不过,你也可以简单地做做实验,看看不同的配置会产生怎样的效果。</p>
161145

162146
</subsection>
163147
</section>

0 commit comments

Comments
 (0)