首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将所有内部Springboot日志记录直接到log4j?

如何将所有内部Springboot日志记录直接到log4j?
EN

Stack Overflow用户
提问于 2015-03-11 16:26:11
回答 3查看 1.6K关注 0票数 4

我希望将所有内部Springboot日志消息定向到log4j,以便消息遵循我的log4j属性(即,它们使用我的布局转到控制台和log4j文件)。

我尝试将Springboot配置为仅使用log4j日志记录,参见本指南:http://spring.io/blog/2009/12/04/logging-dependencies-in-spring/

我已经成功地设置了log4j,以便在使用log4j记录器对象时登录到控制台并进行文件处理。

但是,Springboot在内部登录时似乎仍然在使用slf4j。我尝试删除slf4j依赖项,但是Springboot未能启动,缺少了类异常。

如何将所有内部Springboot日志记录定向到log4j?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-11 16:58:33

你从官方文件上试过这个吗?

http://docs.spring.io/spring-boot/docs/1.2.2.RELEASE/reference/htmlsingle/#howto-configure-log4j-for-logging

基本上,您必须排除默认情况下由初学者poms附带的logback内容。

引用于此,以供参考:

代码语言:javascript
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>
票数 5
EN

Stack Overflow用户

发布于 2015-03-11 17:04:32

如果您正在使用spring,我建议您遵循春季文献,因为我发现这比您的参考更容易。

我让log4j工作了,它打印的消息如下:

[2015-03-06 15:34:54 INFO ] [main] [tomcat.TomcatEmbeddedServletContainer] Tomcat initialized with port(s): 8080 (http)

不知道这是不是你所说的内部信息的意思。

票数 0
EN

Stack Overflow用户

发布于 2015-08-18 20:35:03

代码语言:javascript
复制
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot</artifactId>
  <version>1.1.4.RELEASE</version>
  <exclusions>
    <exclusion>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-logging</artifactId>
    </exclusion>
  </exclusions>
</dependency>

<!-- add slf4j interfaces to classpath this is for log4j -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.6.4</version>
    <scope>compile</scope>
</dependency>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.6.4</version>
    <scope>runtime</scope>
</dependency>

<!-- add log4j to classpath -->
<!-- does the logging -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.16</version>
</dependency>

在资源下添加log4j.properties

代码语言:javascript
复制
log4j.rootLogger=INFO, Console, File

# Direct log messages to stdout
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %m%n


log4j.appender.File=org.apache.log4j.RollingFileAppender
log4j.appender.File.append=true
log4j.appender.File.file=/tmp/projectdir/logfile-ws.log
log4j.appender.File.threshold=INFO
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %m%n
log4j.appender.File.MaxFileSize=100MB
log4j.appender.File.MaxBackupIndex=1
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28992088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档