log4j.additivity.org.springframework.jdbc.core.JdbcTemplate=false log4j.logger.org.springframework.jdbc.core.JdbcTemplate=DEBUG, jdbcTemplate log4j.additivity.jdbcTemplate=false log4j.appender.jdbcTemplate=org.apache.log4j.DailyRollingFileAppender log4j.appender.jdbcTemplate.File=sql.log log4j.appender.jdbcTemplate.Append=true log4j.appender.jdbcTemplate.DatePattern='.'yyyy-MM-dd'.log' # Pattern to output: date priority [category] - message log4j.appender.jdbcTemplate.layout=org.apache.log4j.PatternLayout log4j.appender.jdbcTemplate.layout.ConversionPattern=TimeCost: %d %p [%t] - %m%n 上述配置文件是什么意思
时间: 2023-12-01 13:03:42 浏览: 71
这是一个Java项目中的log4j日志记录配置文件,用于控制日志输出的格式和级别。其中:
- 第一行设置了org.springframework.jdbc.core.JdbcTemplate类的additivity为false,表示不将该类的日志信息传递给父类别,避免重复记录。
- 第二行设置了org.springframework.jdbc.core.JdbcTemplate类的日志级别为DEBUG,表示记录该类的debug级别及以上的日志信息。
- 第三行设置了jdbcTemplate类的additivity为false,表示不将该类的日志信息传递给父类别,避免重复记录。
- 第四行使用DailyRollingFileAppender类定义了一个名为jdbcTemplate的日志输出器,将日志信息输出到名为sql.log的文件中。
- 第五行设置了该输出器的Append属性为true,表示日志信息追加到文件末尾而不是覆盖原有内容。
- 第六行设置了日志文件按照日期滚动,每天生成一个新的日志文件。
- 第七行设置了该输出器的日志信息输出格式,即TimeCost: 时间 日志级别 [线程名] - 日志信息。
- 最后两行是注释,用于说明配置文件的含义。
相关问题
log4j:WARN No appenders could be found for logger (org.apache.htrace.core.Tracer). log4j:WARN Please initialize the log4j system properly.
这个警告信息通常表示 log4j 在配置中没有找到任何可以输出日志的 Appender。这可能是由于缺少 log4j.properties 或 log4j.xml 配置文件,或者因为配置文件中没有定义任何 Appender。
如果你使用 log4j.properties 配置文件,可以尝试添加以下内容:
```
log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c %x - %m%n
```
如果你使用 log4j.xml 配置文件,可以尝试添加以下内容:
```
<log4j:configuration>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
</layout>
</appender>
<logger name="org.apache.htrace.core.Tracer" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="console"/>
</logger>
<root>
<priority value="debug"/>
<appender-ref ref="console"/>
</root>
</log4j:configuration>
```
请注意,以上示例仅供参考。你应该根据你的实际需求进行配置,例如修改日志级别、更改输出格式等。
log4j.properties 怎么配置控制台输出sql语句
在log4j.properties文件中配置控制台输出SQL语句通常涉及到日志级别(level)、过滤器(filter)以及特定的日志布局(layout)。以下是一个简单的示例:
```properties
# 配置Log4j的基本信息
log4j.rootLogger=debug, stdout
# 定义控制台(stdout)appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %m%n
# SQL相关的logger设置
log4j.logger.org.hibernate.SQL=DEBUG
log4j.additivity.org.hibernate.SQL=false
# 如果你需要记录每个SQL语句的具体内容
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
```
在这个配置中,`org.hibernate.SQL` 和 `org.hibernate.type.descriptor.sql.BasicBinder` 被设置为DEBUG级别,这意味着所有Hibernate生成的SQL语句都会被记录。如果你只想看到实际执行的SQL而不是准备的SQL(即binded值),则可以只保留`org.hibernate.SQL`。
阅读全文