如何告诉spring使用log4j2打印日志消息?

时间:2016-03-11 17:06:05

标签: java spring log4j2

当我使用Spring创建bean和东西时,spring正在使用他的apache commons记录(我猜)来打印信息。

enter image description here

我希望这些信息的颜色不同。只有我的错误应该是红色,但这样的信息应该是绿色的。所以我听说你只能配置这个,如果你使用不同的记录器,你可以添加自己的配置文件,如log4j2。我尝试使用代码告诉log4j2记录spring消息,但它没有用完

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
        <File name="MyFile" fileName="all.log" immediateFlush="false" append="false">
            <PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </File>
    </Appenders>
    <Loggers>
        <Root level="debug">
            <AppenderRef ref="Console" />
            <AppenderRef ref="MyFile"/>
        </Root>
        <logger name="org.springframework.beans">
            <appender-ref ref="Console" />
        </logger>   
    </Loggers>
</Configuration>

由于输出相同,我猜春天不使用log4j2。你看到的第一行是我用

打印的

log.info(“spring1 - 属性初始化”);

有没有办法用log4j2完全登录?最后,我只是想改变这些颜色所以也许还有一种更简单的方法没有log4j?

编辑:我正在使用Spring启动,并且自己没有配置任何关于spring的内容。

1 个答案:

答案 0 :(得分:1)

你可以

  1. 设置项目以使用slf4j + log4j2
  2. 从spring依赖关系和其他deps中排除公共日志记录
  3. 将jcl-over-slf4j依赖项添加到项目
  4. 这将使Spring通过指向slf4j的commons-logging实现工作,指向log4j2。