首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java项目中的log4j2 -找不到输出

Java项目中的log4j2 -找不到输出
EN

Stack Overflow用户
提问于 2017-07-28 07:28:56
回答 2查看 282关注 0票数 0

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

我的问题是:

  • 如何获得所有的日志输出?
  • 我应该从哪里搜索日志文件?

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

我真的很感谢你的帮助和支持,今天我想从你们身上学到一些新的东西!谢谢!

这是log4j2.xml

代码语言:javascript
复制
    <?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>
EN

回答 2

Stack Overflow用户

发布于 2017-07-28 07:41:59

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

票数 0
EN

Stack Overflow用户

发布于 2017-07-29 10:23:49

您可以通过启用内部Log4j2“状态”日志来了解有关如何配置追加程序的详细信息。

在配置文件的顶部,将其更改为跟踪<configuration status="trace" monitorInterval="1800">。我相信这将显示控制台上文件附加程序的完整路径。(对定制的CustomRollingRandomAccessFile没有任何保证。)

另外,在<Console>附录配置中有一个非XML兼容的片段。这看起来很糟糕,应该删除:

代码语言:javascript
复制
(onMismatch)-->
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45367392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档