我有一个spring boot应用程序,我生成了spring war。我在wildfly 16中部署了它,但我发现日志仅在INFO模式下生成。当我在Tomcat中部署时,同样的war会在调试模式下生成日志。
我使用log4j2进行日志记录
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
<Properties>
<Property name="basePath">F:/LOGS/</Property>
</Properties>
<CustomLevels>
<CustomLevel name="CDR" intLevel="1" />
</CustomLevels>
<Appenders>
<RollingFile name="NORMAL_LOG_FILE" fileName="${basePath}/appUMS.log"
filePattern="${basePath}/appUMS.log.%d{yyyy-MM-dd-HH}" >
<PatternLayout>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %c{1} %L- %msg%n
</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1"
modulate="true" />
</Policies>
<!-- <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/> -->
</RollingFile>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout
pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %c{1} %L - %msg%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="com.sixdee" level="debug" additivity="false">
<appender-ref ref="NORMAL_LOG_FILE" level="DEBUG" />
<AppenderRef ref="console" level="debug" />
<AppenderRef ref="ERR_LOG_FILE" level="error" />
</Logger>
<Root level="info" additivity="false">
<appender-ref ref="console" />
<AppenderRef ref="NORMAL_LOG_FILE" />
<AppenderRef ref="ERR_LOG_FILE"/>
</Root>
</Loggers>
</Configuration>
tomcat和wildfly日志中使用相同的log4j2。Wildfly/JBoss中是否有其他配置文件可用于启用调试级别??
发布于 2020-10-12 13:37:54
首先,确保log4j.properties位于正确的文件夹中,即META-INF。
您还可以运行以下命令来启用调试级别日志记录:
{wildfly}/bin/jboss-cli.sh --connect
[standalone@localhost:9990 /] /subsystem=logging/console-handler=CONSOLE:write-attribute(name=level,value=DEBUG)
[standalone@localhost:9990 /] /subsystem=logging/root-logger=ROOT:write-attribute(name=level,value=DEBUG)
发布于 2020-10-13 04:45:11
发现真正的问题是,wildfly子系统日志覆盖了应用程序的log4j2 xml。所以我们必须关闭野蝇子系统的日志记录。
<subsystem xmlns="urn:jboss:domain:logging:6.0">
<console-handler name="CONSOLE">
<level name="DEBUG"/>
<formatter>
<named-formatter name="COLOR-PATTERN"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
<formatter>
<named-formatter name="PATTERN"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
<level name="WARN"/>
</logger>
<logger category="io.jaegertracing.Configuration">
<level name="WARN"/>
</logger>
<logger category="org.jboss.as.config">
<level name="INFO"/>
</logger>
<logger category="sun.rmi">
<level name="WARN"/>
</logger>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
<formatter name="PATTERN">
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
</formatter>
<formatter name="COLOR-PATTERN">
<pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
</formatter>
</subsystem>
注释或删除此部分,以使应用程序的Log4j2日志正常工作。
https://stackoverflow.com/questions/64318861
复制