我正在研究Wildfly 9/10。我使用定制的Log4j2配置文件编写了web应用程序。
<configuration status="INFO">
<Appenders>
<RollingFile name="General" fileName="D:/logs/general/general.log"
filePattern="D:/logs/general/$${date:yyyy-MM}/general-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout
pattern="%d{ABSOLUTE} %level{length=5} [%thread] %logger{1} - %msg%n" />
<SizeBasedTriggeringPolicy size="20 MB" />
</RollingFile>
<Async name="asyncGeneral" bufferSize="10" includeLocation="true">
<AppenderRef ref="General" />
</Async>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="asyncGeneral" />
</Root>
</Loggers>
配置文件正确地包含在war jar库中。
结果是,当我运行web应用程序时,它会生成以下文件:
D:/logs/general.log
但它继续在服务器控制台上打印日志,而文件保持为空。
相同的配置在独立应用程序上正常工作。我错过了什么?
更新当我部署我的应用程序时,服务器会打印以下调试级别信息:
12:58:17,190 INFO [stdout] (ServerService Thread Pool -- 64) 2016-06-16 12:58:17,190 ServerService Thread Pool -- 64 DEBUG createAppender(={General}, errorRef="null", blocking="true", shutdownTimeout="0", bufferSize="10", name="asyncGeneral", includeLocation="true", Filter=null, Configuration(vfs:/C:/Windows/System32/content/sec-api.war/WEB-INF/lib/com.application.jar/log4j2.xml), ignoreExceptions="true")
12:58:17,194 INFO [stdout] (ServerService Thread Pool -- 64) 2016-06-16 12:58:17,194 ServerService Thread Pool -- 64 DEBUG createAppenders(={Console, RoutingAppender, General,asyncGeneral})
12:58:17,196 INFO [stdout] (ServerService Thread Pool -- 64) 2016-06-16 12:58:17,196 ServerService Thread Pool -- 64 DEBUG reateAppenderRef(ref="asyncGeneral", level="null", Filter=null)
12:58:17,200 INFO [stdout] (ServerService Thread Pool -- 64) 2016-06-16 12:58:17,200 ServerService Thread Pool -- 64 DEBUG createLogger(additivity="null", level="DEBUG", includeLocation="null", ={async, asyncGeneral, asyncDebug}, ={}, Configuration(vfs:/C:/Windows/System32/content/sec-api.war/WEB-INF/lib/com.klopotek.core-1.3.0-SNAPSHOT.jar/log4j2.xml), Filter=null)
12:58:17,225 INFO [stdout] (ServerService Thread Pool -- 64) 2016-06-16 12:58:17,224 ServerService Thread Pool -- 64 DEBUG Registering MBean org.apache.logging.log4j2:type=/sec-api,component=AsyncAppenders,name=asyncGeneral
您的配置仅显示一个RollingFile和异步Appender。然而,日志清楚地显示了控制台和路由附加器。我看到对两个不同配置文件的引用,所以看起来您可能正在使用CompositeConfiguration?在任何情况下,您显示的配置都与日志消息不一致,因此很难说问题出在哪里。
要有效地管理Web服务器,就有必要反馈服务器的活动、性能以及出现的问题。Apache HTTP服务器提供了非常全面而灵活的日志记录功能。本文将阐述如何配置文件以及如何理解日志内容。 安全警告 任何人只要对Apache存放日志文件的目录具有写权限,也就当然地可以获得启动Apache的用户(通常是root)的权限,绝对不要随意给予任何人存放日志文件目录的写权限。细节请参见安全方面的提示。 另外,日志文
Navicat 提供数个日志文件记录在 Navicat 已运行的动作,它们在子目录 logs,例如: C:\Users\Guest\Documents\Navicat\Premium\logs\。你可以在选项中改变日志文件的位置。 HttpDump.log 保存从你的 HTTP 服务器答复的数据。 LogHistory.txt 记录在 Navicat 数据库及数据库对象上全部已运行的作业上的全部
Navicat Monitor 日志文件具有各种服务器错误和信息的详细记录。这些文件可以帮助跟踪 Navicat Monitor 的任何问题。请按照以下步骤下载日志文件: 前往“ 配置”。 点击“关于”。 滚动到“诊断”部分。 点击“检索全部日志文件”以下载包含日志文件的一份 .zip 文件。
Navicat 提供数个日志文件记录在 Navicat 已执行的操作,它们位于“logs”目录,例如:C:\Users\Guest\Documents\Navicat\Premium\logs\。你可以在选项中更改日志文件的位置。 文件 描述 history.log 保存在 Navicat 数据库和数据库对象上所有已运行的操作的所有语句或脚本。若要在“历史日志查看器”打开 history.log
Navicat 提供数个日志文件记录在 Navicat 已执行的操作,它们位于默认文件夹,例如:~/Library/Application Support/PremiumSoft CyberTech/Navicat CC/Navicat Premium/Logs。你可以在偏好设置中更改日志文件的位置。 文件 描述 QueryExec.log 保存在 Navicat 数据库和数据库对象上所有已运行的
日志路径 指定保存日志文件的路径。 写入已运行的查询的日志 保存在 Navicat 数据库和数据库对象上所有已运行的操作的所有 SQL 语句。 【提示】需要重新启动 Navicat 才生效。 写入批处理作业日志(仅适用于非 Essentials 版) 保存 Navicat 命令列进程和运行批处理作业时所有操作的信息。