Lea*_*reM 18 logging spring log4j stdout
如何禁用Spring日志以获得我可以轻松阅读或其他人可以阅读的日志输出.在一个类似的问题,回答了如何禁用的Spring bean加载日志建议注释掉让所有线路org.springframework substring在log4j.properties file.在我的情况下,没有这样的线.
这是 log4j.properties 
# Define the root logger with appender file
log4j.rootLogger = DEBUG, stdout
# Define the file appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
# Set the name of the logs destination
log4j.appender.stdout.target=System.out
# Set the immediate flush to true (default)
log4j.appender.stdout.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.stdout.Threshold=debug
# Set the append to false, overwrite
log4j.appender.stdout.Append=false
# Define the layout for appender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.conversionPattern=%d{yyyy-MM-dd}:%m%n 
M. *_*num 31
对于未明确指定的所有内容,您的默认日志记录是DEBUG.因此,所有内容都记录在该级别(根据您的配置判断),基本上您充斥着您的日志.你不应该删除org.springframework的记录器,你应该添加它们并为它们设置另一个级别.
log4j.logger.org.springframework=INFO 
或者你喜欢的任何日志级别.
Aja*_*jax 10
在你这样做之前,你应该了解一下:
1.How to add maven dependency 
2.Where to put log4j configuration file
好的,回到问题.最佳答案不适用于spring 4.x,如果您使用的是spring4.x,请尝试以下3个步骤:
common-logging从中移除spring-core
Run Code Online (Sandbox Code Playgroud)<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.4.RELEASE</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency>如果没有这一步,无论你在log4j配置文件中放置什么都不行,导致spring正在使用
common-logging我的男孩!
PS:在许多弹簧模块中,spring-core是唯一明确依赖的模块commons-logging.
添加SLF4J和log4j
Run Code Online (Sandbox Code Playgroud)<dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.5.8</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.5.8</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.5.8</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency>
配置log4j.properties(你也可以使用xml文件)
log4j.rootCategory = INFO,stdout
log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern =%d {ABSOLUTE}%5p%t%c { 2}:%L - %m%n
log4j.category.org.springframework.beans.factory = INFO
现在,恼人的弹簧调试日志正在消失.享受编码!
答案来自spring.io doc,原点请点击这里
小智 6
所有的答案都给出了在 log4j.properties 中配置的示例,这就是被问到的。我有同样的问题,但我在 log4j2.xml 中使用配置,这里的答案引导我找到解决方案。
如果有人和我在同一条船上,这就是我所做的:我添加了一个名为 org.springframework 和级别为 WARN 的节点记录器,如下面的示例所示:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="org.springframework" level="WARN"/>
        <Root level="info">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>
我正在使用 Spring Boot 并且我所做的排除是 logback-classic,如以下代码段所示:
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <exclusions>
            <exclusion>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
| 归档时间: | 
 | 
| 查看次数: | 41523 次 | 
| 最近记录: |