当前位置: 首页 > 知识库问答 >
问题:

log4j2.properties创建日志文件但不写入日志文件

金成济
2023-03-14

我正在使用带有log4j2的Spring Boot1.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

共有1个答案

鲁丰
2023-03-14


logger.applogger.name=applogger
更改为
logger.applogger.name=com.mycompany
并添加到文件的结尾
rootlogger.level=info
rootlogger.appenderref.stdout.ref=consoleloggerappender

人们还提到了早期log4j2版本和Spring-boot的问题。

 类似资料:
  • 我已经将log4j2.properties文件与springboot应用程序一起使用。正在创建日志文件,但日志未写入该文件。 日志出现在控制台,但没有写入文件,因为我没有得到问题。 奇怪的是,父包记录器“logger Enabled:Enting main\n\n”被写入文件,而另一个父包记录器“****演示应用程序启动*****”没有被写入文件,如上面的代码所示。并且还检查了子包,即记录器,甚至

  • 问题内容: 我正在尝试配置log4j以将消息记录到文件中。现在,确实使用我提供的名称创建了该文件,但是日志未写入该文件。我的代码: 我文件的内容: 运行此命令时,将在控制台中获得以下输出: 该文件确实在我的主目录中创建。但是它是空的。 有什么想法我做错了吗?我正在使用log4j 1.2.17版。 问题答案: 输出似乎是Java标准日志记录框架(JUL)发出的默认格式。 因此,有两种可能性(想到):

  • 我正在尝试配置log4j以将消息记录到文件中。现在,文件确实是用我提供的名称创建的,但是日志并没有写入文件中。我的代码: 我的文件: 运行此命令时,我在控制台中得到以下输出: 文件确实在我的主目录中创建。但它是空的。 知道我做错了什么吗?我使用的是log4j版本1.2.17。

  • 我有将日志保存到文件配置,但日志会附加到现有内容。我想创建总是新的文件。我怎么能那样做? 我的log4j2.xml:

  • 问题内容: 我当前正在创建一个可以包含模块的系统(将它们视为插件),其中每个模块可以拥有自己的专用日志。 我想使用log4j2项目进行日志记录,但是文件附加器似乎有些麻烦。 主项目(整个模块的模块加载器和“核心”)应具有自己的日志文件,而模块应具有自己的日志文件(如)。 通过阅读有关追加程序的文档,我发现了该类,并且我将使用它。直到我发现不能简单地将追加器添加到由创建的默认记录器中。 LogMan

  • 我目前正在创建一个系统,可以有模块(把它们看作插件),其中每一个都可以有自己的日志,专用的。 我想使用log4j2项目进行日志记录,但我似乎在文件附加符方面遇到了一些麻烦。 主项目(模块加载器和整个事情的“核心”)应该有自己的日志文件,而模块应该有自己的日志文件(像)。 即使搜索也没有给我提供任何接近的解决方案,我找到的只是xml配置中预定义的文件日志--这不是我想要的。 感谢你的阅读;即使是最轻