我已经使用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罐。
在将此添加到我的构建路径后,我将在我的文件中打印所有日志
-Dlog4j.configurationFile=/src/main/resources/log4j2.xml解决了我的问题。