当前位置: 首页 > 知识库问答 >
问题:

log4j2的文件附加器在独立的tomcat中无法工作

滑景胜
2023-03-14

我在使用spring-boot、log4j2和Tomcat时遇到了一个问题。

我有一个log4j2 xml配置文件用于日志记录,还有两个附加程序,一个控制台和一个文件附加程序。

<Properties>
    <Property name="LOG_PATTERN">
        %d{yyyy-MM-dd HH:mm:ss} %5p ${hostName} --- [%15.15t] %-40.40c{1.} %L : %m%n%ex
    </Property>
    <Property name="LOG_PATH">
        <!-- <absolute_path_to_log_file_directory> -->
    </Property>
</Properties>

<Appenders>
    <Console name="ConsoleAppender" target="SYSTEM_OUT">
        <PatternLayout pattern="${LOG_PATTERN}"/>
    </Console>

    <RollingFile name="FileAppender"
                 fileName="${LOG_PATH}/mylogfile.log"
                 filePattern="${LOG_PATH}/mylogfile-%d{yyyy-MM-dd}-%i.log">
        <PatternLayout>
            <Pattern>${LOG_PATTERN}</Pattern>
        </PatternLayout>
        <Policies>
            <TimeBasedTriggeringPolicy interval="1" />
        </Policies>
    </RollingFile>
</Appenders>

<Loggers>
    <Logger name="my.package.name" level="debug" additivity="false">
        <AppenderRef ref="FileAppender" />
        <AppenderRef ref="ConsoleAppender" />
    </Logger>


    <Root level="info">
        <AppenderRef ref="ConsoleAppender" />
        <AppenderRef ref="FileAppender" />
    </Root>
</Loggers>

在这件事上的任何帮助都是感激的。

共有1个答案

慎星纬
2023-03-14

您可以将以下内容添加到您的tomcat启动程序到您的catalina opts

-Dlogging.config=<<external-folder>>\log4j2.xml
 类似资料:
  • 我试图在liferay tomcat版本中部署一个简单的独立war文件。它既不是portlet,也不是主题。如何在liferay tomcat中将war文件配置为独立的war。 我有以下错误 16:45:51,175错误[localhost-1][HotDeployImpl: 211]com.liferay.portal.kernel.deploy.hot.HotDeployExc0019:错误注

  • 我创建了一个自定义追加器,但在运行测试时没有调用它。以下是这些属性的外观: 我的appender被称为WindowsEventLogappender。知道我的档案有什么问题吗?我看到了控制台测试消息,但没有看到来自我的appender的消息。现在我只是在我的自定义追加器中做一个system.out.println来验证它是否被调用。

  • 我正在尝试将log4j2文件的路由添加到包含其进程id的名称的文件中。这将使用路由并指定一些代码来插入进程id的查找。但是,这些文件似乎不再正确存档-每次我启动进程时,都会正确生成具有进程id的新文件,然而,任何东西都不会被放入归档目录中。 此外,即使我不使用路由,但我也无法想出如何在存档中最多保留5个文件,而只是使用OnstartupTriggeringPolicy滚动文件追加器。

  • 问题内容: 这是我尝试将Maven项目部署到tomcat时遇到的错误 错误: 但是WEB-INF \ lib中有javax.servlet-api-3.0.1.jar 问题答案: 信息:validateJarFile(D:\ Softwares \ tomcat \ apache-tomcat-7.0.50 \ webapps \ myWebApp_1 1 \ WEB-INF \ lib \ ja

  • 我试图在程序中加载一个jar文件来调用不同的方法。我有一个类来完成这项工作,但是该类使用加载jar文件,它依赖于系统类加载程序,因此,例如,如果加载的jar执行它完成整个应用程序的执行,终止当前运行的Java虚拟机。我的意图是,如果加载的jar最后一次这样做,它只完成jar,而不是整个应用程序。此外,我希望能够关闭jar,以便在需要时可以稍后重新启动它。我使用以下代码从jar实例化所需的类,并从我

  • 我想从Spring Boot应用程序创建一个war文件,我可以将其部署到独立的Tomcat容器中,而不是使用嵌入式容器。 我可以创建war文件,并使用单独运行它,它工作得很好。 我使用(使用Gradle、Tomcat7、Java1.7)构建了应用程序。 但当我将war文件部署到独立的Tomcat并启动它时,根据日志显示,应用程序似乎没有错误地启动,但我无法访问任何资源,控制器URL也无法工作。 当