并非每个日志都使用LOG4j2属性文件在日志文件中打印



我已经使用log4j2在java中为使用属性文件的日志配置了我的webapp。

当我启动tomcat时,控制台中有很多日志在打印,但在我的文件中只有几行在打印。

我应该怎么做才能将控制台中的每一行打印到我的日志文件中。

最近我已经从日志1.x迁移到日志2.16

当我使用log1.x时,所有内容都打印在控制台中的日志文件中,但在log2中不打印。

例如,当我盯着tomcat时,我在文件中只得到了与应用程序相关的日志,而没有得到与tomcat启动日志或任何其他与jar相关的日志相关的任何日志

有人能在这个上帮我吗

下面是我的配置文件

log4j2属性:

status = all

appender.console.type = Console
appender.console.name = LogToConsole
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

#appender.file.type = File
#appender.file.name = LogToFile
#appender.file.fileName=logs/app.log
#appender.file.layout.type=PatternLayout
#appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

# Rotate log file
appender.rolling.type = RollingFile
appender.rolling.name = LogToRollingFile
appender.rolling.fileName = ${catalina.home}/logs/SunnyLogs.log
appender.rolling.filePattern = ${catalina.home}/logs/$${date:yyyy-MM}/SunnyLogs-%d{MM-dd-yyyy}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d %p %C{1.} [%t] %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=10MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 10

# Log to console and rolling file
logger.app.name = com.sunny.common
logger.app.level = all
logger.app.additivity = false
logger.app.appenderRef.rolling.ref = LogToRollingFile
logger.app.appenderRef.console.ref = LogToConsole

rootLogger.level = all
rootLogger.appenderRef.stdout.ref = LogToConsole

经过深入研究,我找到了一个罐子作为我的解决方案

Log4j-jcl-2.16罐。

在将此添加到我的构建路径后,我将在我的文件中打印所有日志

setEnv.bat文件中的

-Dlog4j.configurationFile=/src/main/resources/log4j2.xml解决了我的问题。

最新更新