Java项目中的log4j2 - 无法找到输出

时间:2017-07-28 07:28:57

标签: java log4j log4j2 logfiles

我是新来的,请帮助我理解我的新项目的 log4j2 配置。

我的问题是:

  • 如何获取所有日志输出?

  • 我应该从哪里搜索日志文件?

如何在 txt 文件中保存tomcat控制台输出?

我真的很感谢你的帮助和支持,今天我想向你们学习新的东西!谢谢!

这是log4j2.xml

    <?xml version="1.0" encoding="UTF-8"?>

<configuration status="error" monitorInterval="1800">
    <Properties>
        <Property name="LOG_HOME">\Workspaces\logs\paymentweb</Property>
        <Property name="LOG_DEBUG">${LOG_HOME}\app\debug.log</Property>
        <Property name="LOG_INFO">${LOG_HOME}\app\info.log</Property>
        <Property name="LOG_ERROR">${LOG_HOME}\app\error.log</Property>
    </Properties>


    <appenders>

        <Console name="Console" target="SYSTEM_OUT">
        (onMismatch)-->
            <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>

            <PatternLayout pattern="%d{yyyy.MM.dd HH:mm:ss z} %-5level %class{36}.%M()/%L - %msg%xEx%n"/>
        </Console>


        <RollingRandomAccessFile name="app_debug" fileName="${LOG_DEBUG}" append="false" filePattern="${LOG_HOME}\$${date:yyyy-MM}\debug-%d{MM-dd-yyyy}-%i.log.gz">
            <Filters>
                <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
            </Filters>
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss z} %-5level %class{36}.%M()/%L - %msg%xEx%n"/>
            <Policies>
                <OnStartupTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="50 MB" />
                <TimeBasedTriggeringPolicy />
            </Policies>
        </RollingRandomAccessFile>


        <CustomRollingRandomAccessFile name="app_info" fileName="${LOG_INFO}" append="false" filePattern="${LOG_HOME}\$${date:yyyy-MM}\info-%d{MM-dd-yyyy}-%i.log.gz">
            <Filters>
                <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
                <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss z} %-5level %class{36}.%M()/%L - %msg%xEx%n"/>
            <Policies>
                <OnStartupTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="50 MB" />
                <TimeBasedTriggeringPolicy />
            </Policies>
        </CustomRollingRandomAccessFile>


        <CustomRollingRandomAccessFile name="app_error" fileName="${LOG_ERROR}" append="false" filePattern="${LOG_HOME}\$${date:yyyy-MM}\error-%d{MM-dd-yyyy}-%i.log.gz">
            <Filters>
                <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss z} %-5level %class{36}.%M()/%L - %msg%xEx%n"/>
            <Policies>
                <OnStartupTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="50 MB" />
                <TimeBasedTriggeringPolicy />
            </Policies>
        </CustomRollingRandomAccessFile>
    </appenders>


    <loggers>

        <root level="trace" additivity="false">
            <appender-ref ref="Console"/>  
            <appender-ref ref="app_debug"/>  
            <appender-ref ref="app_info"/>  
            <appender-ref ref="app_error"/>
       </root>
    </loggers>
 </configuration>

2 个答案:

答案 0 :(得分:0)

所有日志都在\ Workspaces \ logs \ paymentweb \ app * .log

答案 1 :(得分:0)

通过启用内部Log4j2“状态”日志记录,您可以找到有关如何配置appender的详细信息。

在配置文件的顶部,将其更改为TRACE <configuration status="trace" monitorInterval="1800">。我相信这将显示控制台上文件追加器的完整路径。 (不保证自定义appender CustomRollingRandomAccessFile。)

此外,您在<Console> appender配置中有一个不兼容XML的代码段。这看起来很糟糕,应该删除:

(onMismatch)-->