【问题标题】:log4j2.properties creating log files but not writing in the logs fileslog4j2.properties 创建日志文件但不写入日志文件
【发布时间】:2018-06-28 19:14:29
【问题描述】:

我正在使用带有 log4j2 的 Spring Boot 1.5.9,当我测试日志记录功能时,会创建日志文件但不会将日志写入其中,而控制台记录器工作正常。请在 pom.xml & log4j2.properties 配置下方找到。

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</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-log4j2</artifactId>
        </dependency>

log4j2.properties 文件:

status = trace
name= properties_configuration

# Give directory path where log files should get stored
property.basePath = /logs/

# ConsoleAppender will print logs on console
appender.console.type = Console
appender.console.name = consoleLoggerAppender
appender.console.target = SYSTEM_OUT
appender.console.layout.type = PatternLayout

# Specify the pattern of the logs
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %level [%t] [%c] [%M] [%l] - %msg%n

appender.appLogger.type = RollingFile
appender.appLogger.name = appLoggerAppender
appender.appLogger.fileName = ${basePath}/application_gui.log
appender.appLogger.filePattern = ${basePath}application_gui_%d{yyyyMMdd}.log.gz
appender.appLogger.layout.type = PatternLayout
appender.appLogger.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %level [%t] [%c] [%M] [%l] - %msg%n
appender.appLogger.policies.type = Policies
appender.appLogger.policies.time.type = TimeBasedTriggeringPolicy
appender.appLogger.policies.time.interval = 2
appender.appLogger.policies.time.modulate = true
appender.appLogger.strategy.type = DefaultRolloverStrategy

# Classes in this package or sub packages will use ConsoleAppender and RollingFileAppender for logging
logger.appLogger.name = appLogger
logger.appLogger.level = debug
logger.appLogger.additivity = false
logger.appLogger.appenderRef.rolling.ref = appLoggerAppender
logger.appLogger.appenderRef.console.ref = consoleLoggerAppender

【问题讨论】:

    标签: java spring-boot log4j2


    【解决方案1】:

    改变
    logger.appLogger.name = appLogger

    logger.appLogger.name = com.myCompany
    并添加到文件末尾
    rootLogger.level = info
    rootLogger.appenderRef.stdout.ref = consoleLoggerAppender

    People 还提到了早期 log4j2 版本和 spring-boot 的问题。

    【讨论】:

    • 感谢 JGlass,按照您的说法进行了更改,但创建文件的结果仍然相同,但没有写入日志。配置为xml文件然后工作。
    • 很高兴看到你成功了 - 我提供的链接有用吗?
    • 如果需要,您可以使用文件中的示例 XML 添加自己的答案,然后选择您自己的问题作为答案。
    【解决方案2】:

    示例xml配置文件如下:

    log4j2.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="WARN" monitorInterval="30">
    <Properties>
        <Property name="LOG_PATTERN">
            %d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${hostName} --- [%15.15t] %-40.40c{1.} : %m%n%ex
        </Property>
    </Properties>
    <Appenders>
        <Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
            <PatternLayout pattern="${LOG_PATTERN}"/>
        </Console>
        <!-- Rolling File Appender -->
        <RollingFile name="FileAppender" fileName="logs/APIServer.log" 
                     filePattern="logs/APIServer-%d{yyyy-MM-dd}-%i.log"
                     ignoreExceptions="false">
            <PatternLayout>
                <Pattern>${LOG_PATTERN}</Pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="10MB" />
                <TimeBasedTriggeringPolicy interval="1" />
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Logger name="com.yourloggername" level="debug" additivity="false">
            <AppenderRef ref="ConsoleAppender" />
            <AppenderRef ref="FileAppender"/>
        </Logger>
    
        <Root level="info">
            <AppenderRef ref="ConsoleAppender" />
            <AppenderRef ref="FileAppender"/>
        </Root>
    </Loggers>
    

    【讨论】:

      猜你喜欢
      • 2019-01-10
      • 2014-06-03
      • 1970-01-01
      • 2017-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-04
      • 2012-11-03
      相关资源
      最近更新 更多