代码之家  ›  专栏  ›  技术社区  ›  jayanes

log4j无法在spring boot resti api中创建日志文件

  •  1
  • jayanes  · 技术社区  · 6 年前

    我创建了Spring启动应用程序,还使用log4j创建了记录器。 我已经尝试了所有可能的方法,但仍然无法生成日志文件。它只打印到控制台

     log=/home/jayanes/projects/HSS/server/logs
    log4j.rootLogger=INFO, file ,stdout
    log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.file.File=${log}/process.log
    log4j.appender.file.Append=true
    log4j.appender.file.DatePattern='.'yyyy-MM-dd
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    
    log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
    
    
    
    
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
    

    你能帮助我吗?

    2 回复  |  直到 6 年前
        1
  •  1
  •   sticky_elbows    6 年前

    如果您的数据库中存在以下依赖项: pom.xml 然后 spring-boot 将使用它自己的默认日志记录(logback),它嵌入在这个依赖项中(您可以在 dependency hierarchy 选项卡):

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <!-- Need to exclude spring boot's default logger in order to use log4j -->
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    

    pom.xml 您将能够从中查看日志 log4j 如果您已正确配置它。

        2
  •  0
  •   jayanes    6 年前

    补充 import org.apache.log4j.BasicConfigurator; 手动调用该库,并在应用程序运行文件中调用该库

      BasicConfigurator.configure();
    

    非常感谢。