在何处配置内部tomcat7标准输出/标准输出日志文件
我正在使用ApacheTomcat7.0.40和Log4j配置,根据 除了创建了一些日志文件之外,其他一切都正常工作,这些日志文件实际上没有在my在何处配置内部tomcat7标准输出/标准输出日志文件,tomcat,logging,log4j,tomcat7,Tomcat,Logging,Log4j,Tomcat7,我正在使用ApacheTomcat7.0.40和Log4j配置,根据 除了创建了一些日志文件之外,其他一切都正常工作,这些日志文件实际上没有在mylog4j.properties中配置: log4j.rootLogger=INFO, CATALINA # Define all the appenders log4j.appender.CATALINA=org.apache.log4j.RollingFileAppender log4j.appender.CATALINA.File=${cata
log4j.properties
中配置:
log4j.rootLogger=INFO, CATALINA
# Define all the appenders
log4j.appender.CATALINA=org.apache.log4j.RollingFileAppender
log4j.appender.CATALINA.File=${catalina.base}/logs/catalina.log
log4j.appender.CATALINA.MaxFileSize=3MB
log4j.appender.CATALINA.MaxBackupIndex=10
log4j.appender.CATALINA.Append=true
log4j.appender.CATALINA.Encoding=UTF-8
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.LOCALHOST=org.apache.log4j.RollingFileAppender
log4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost.log
log4j.appender.LOCALHOST.MaxFileSize=3MB
log4j.appender.LOCALHOST.MaxBackupIndex=10
log4j.appender.LOCALHOST.Append=true
log4j.appender.LOCALHOST.Encoding=UTF-8
log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout
log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.MANAGER=org.apache.log4j.RollingFileAppender
log4j.appender.MANAGER.File=${catalina.base}/logs/manager.log
log4j.appender.MANAGER.MaxFileSize=3MB
log4j.appender.MANAGER.MaxBackupIndex=10
log4j.appender.MANAGER.Append=true
log4j.appender.MANAGER.Encoding=UTF-8
log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.HOST-MANAGER=org.apache.log4j.RollingFileAppender
log4j.appender.HOST-MANAGER.File=${catalina.base}/logs/host-manager.log
log4j.appender.HOST-MANAGER.MaxFileSize=3MB
log4j.appender.HOST-MANAGER.MaxBackupIndex=10
log4j.appender.HOST-MANAGER.Append=true
log4j.appender.HOST-MANAGER.Encoding=UTF-8
log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Encoding=UTF-8
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
# Configure which loggers log to which appenders
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=\
INFO, MANAGER
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=\
INFO, HOST-MANAGER
创建的文件(尽管它们不在我的配置中)包括:
- commons-daemon.yyy-MM-dd.log
- tomcat7-stderr.yyy-MM-dd.log
- tomcat7-stdout.yyy-MM-dd.log
DailRollingFileAppender
,这是不需要的,因为我需要一个免维护的系统。所以我更喜欢使用maxBackupIndex
的RollingFileAppender
,以防止日志无限增长
那么,在哪里可以配置
stdout
、stderr
和commons守护进程
日志?是否有一些配置,或者我可以用自己的Log4j配置覆盖配置?Thx我也遇到了同样的问题,最后偶然发现了解决方案。Tomcat 7 for windows有一个名为Monitor Tomcat的Tomcat属性应用程序。在logging选项卡上,您需要删除redirect stdout和stderr输入框中的“auto”值。只需将其留空,它就不会创建这些文件。然后,您可以使用log4j为这些关键文件创建滚动日志文件,以便将来进行调试
希望对您有所帮助。在windows上,您必须转到tomcat/bin/service.bat并编辑PR_LOGPATH变量(所有变量)。 并可能通过“服务删除”和“服务安装”重新安装服务
在linux系统上,解决方案必须非常相似我预计我们在将来的某个时间会有类似的需求/在我们的一个系统上面临相同的问题。所以我很想自己找到一些解决方案 首先查看commons守护进程,看看是否有任何配置可以实现日志上的maxbackupindex;但是搜索并没有多大帮助 然而,我发现了人们处理“tomcat日志跨越限制”的两种方法 第一种方法:在Tomcat中进行内部配置
context.xml
:
YourTomcatInstallDir\conf\context.xml
<Context swallowOutput="true">
(在yourapper
上,现在可以设置MaxBackupIndex
和MaxFileSize
以实现定义的滚动次数和日志大小限制。)logrotate
的简单工具可用于在您无法控制的日志上实现所需的效果。这里有一些链接可以帮助您开始
日志路径:
设置为NOTADRIVE:
(包括后面的:
)。然后三个日志文件(commons守护进程、stderr、stdout)都不会创建
PS C:\> handle -nobanner commons-daemon No matching handles found.
中等版本:我对这个解决方案不是非常满意,但对于我必须管理的Tomcat,我设置了以下几项:
- 我已经从我的webapps中最小化了进入catalina.out/stdout/stderr文件的内容:我已经从webapps自己的日志配置中删除了所有控制台日志记录。(毕竟:不需要在webapps自己的Log4J管理日志和catalina.out/stderr/stdout中都有相同的日志。)
- 我已经最小化了Tomcat本身的catalina.out/stdout/stderr文件:我已经从logging.properties中删除了ConsoleHandler。(道理是一样的:不需要记录两次。)
- 我(现在)决定保留Procrun的日志(commons守护进程、stdout、stderr)。但我希望通过每周重新启动和清理工作的结合,以某种方式限制它们可以增长到的规模。每周自动重启可确保Procrun将启动这三个文件的一组新文件(并带有时间戳)。每周自动化的工作会在一段时间后清理这些旧文件
- 我考虑过使用,但无法使其与锁定访问的文件一起工作。(即使使用
目录也不能做到这一点。)也许将来我会再试一次copyruncate
- 还有一件事还没有尝试过:Tomcat的属性
Tomcat作为Windows服务 默认的Windows安装程序将Tomcat注册为服务 其内部机制称为 这有Unix和Windows版本。Win32版本被称为“ProCurn” Procrun有一个GUI,严格地说,这个GUI被称为“”但我会掩饰这一切,假装这一切都叫做“Procrun” ProLUN不使用标准的Windows事件日志框架。相反,ProCurn将创建一些日志文件。让我们启动GUI,看看它们是什么 启动Procrun GUI Windows图标的标签只是
监视器Tomcat
在默认安装中,这是启动“C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\Tomcat7w.exe”//MS//Tomcat7
开始这项操作后,您将直接进入Procrun的Logging
选项卡
ProLUN的“日志”选项卡
这是新安装后Procrun的“日志”选项卡的屏幕截图
PS C:\> Get-Content -Path "C:\Program Files\Apache Software Foundation\Tomcat 7.0\logs\commons-daemon.2020-09-08.log"
[2020-09-08 16:06:28] [info] [ 4276] Commons Daemon procrun (1.0.15.0 64-bit) started
[2020-09-08 16:06:28] [info] [ 4276] Running 'Tomcat7' Service...
[2020-09-08 16:06:28] [info] [17304] Starting service...
[2020-09-08 16:06:29] [info] [17304] Service started in 1135 ms.
[2020-09-08 16:09:24] [info] [11520] Stopping service...
[2020-09-08 16:09:25] [info] [11520] Service stop thread completed.
[2020-09-08 16:09:25] [info] [ 4276] Run service finished.
[2020-09-08 16:09:25] [info] [ 4276] Commons Daemon procrun finished
PS C:\> handle.exe commons-daemon
Nthandle v4.22 - Handle viewer
Copyright (C) 1997-2019 Mark Russinovich
Sysinternals - www.sysinternals.com
Tomcat7.exe pid: 4880 type: File 1B8: C:\Windows\System32\IDONTCARE\commons-daemon.2020-09-08.log
PS C:\> handle -nobanner IDONTCARE Tomcat7.exe pid: 4880 type: File 1B8: C:\Windows\System32\IDONTCARE\commons-daemon.2020-09-08.log
Tomcat7.exe pid: 4880 type: File 1BC: C:\Windows\System32\IDONTCARE\tomcat7-stdout.2020-09-08.log
Tomcat7.exe pid: 4880 type: File 1D4: C:\Windows\System32\IDONTCARE\tomcat7-stdout.2020-09-08.log
Tomcat7.exe pid: 4880 type: File 1D8: C:\Windows\System32\IDONTCARE\tomcat7-stderr.2020-09-08.log
Tomcat7.exe pid: 4880 type: File 1DC: C:\Windows\System32\IDONTCARE\tomcat7-stderr.2020-09-08.log
PS C:\> handle -nobanner commons-daemon No matching handles found.
PS C:\> handle.exe commons-daemon
Nthandle v4.22 - Handle viewer
Copyright (C) 1997-2019 Mark Russinovich
Sysinternals - www.sysinternals.com
Tomcat7.exe pid: 7504 type: File 88: C:\Windows\System32\LogFiles\Apache\commons-daemon.2020-08-31.log