将tomcat运行时的日志输出到指定文件

合集下载

log4j日志输出到文件的配置

log4j日志输出到文件的配置

log4j⽇志输出到⽂件的配置1.Maven的dependency2.log4j.properties的配置3.Junit的Test类4.web.xml的配置(⾮必要)5.spring的db.config的配置(⾮必要)⼀.maven的dependency<!--log4j--><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.3</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.25</version></dependency><!--junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency>这些jar包都可以去maven中央仓库下载到,/。

⼆.log4j.properties的配置。

#所有⽇志log4j.rootLogger = DEBUG,stdout,file.apache.ibatis=warnlog4j.logger.java.sql=warn.springframework=warn# Druidlog4j.logger.druid.sql=DEBUGlog4j.logger.druid.sql.DataSource=warnlog4j.logger.druid.sql.Connection=warnlog4j.logger.druid.sql.Statement=DEBUGlog4j.logger.druid.sql.ResultSet=warn#设置包名的输出级别.wdq=DEBUG,wdq#控制台输出log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.Threshold=DEBUGyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}[ %p ]%m%n#所有⽂件输出log4j.appender.file = org.apache.log4j.FileAppenderlog4j.appender.file.File = ${webApp.root}/wdq_logs/allDEBUG.loglog4j.appender.file.Encoding=UTF-8 = fileLogDemolog4j.appender.file.Threshold=DEBUGyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}[ %p ]%m%nlog4j.appender.file.append = true#wdq下所有包的⽂件输出log4j.appender.wdq = org.apache.log4j.FileAppenderlog4j.appender.wdq.File = ${webApp.root}/wdq_logs/package_wdq.loglog4j.appender.wdq.Encoding=UTF-8 = fileLogDemolog4j.appender.wdq.Threshold=DEBUGyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}[ %p ]%m%nlog4j.appender.wdq.append = truelog4j.properties是默认加载的⽂件名,如果要另外起名字,还需要在web.xml⾥⾯进⾏配置,如果是测试⽤的,最好⽤默认的名字,这跟Spring的Application.xml有点像。

Log4j2的日志配置文件,log4j2.xml文件的配置(实现控制台输出,各级别分别文件。。。

Log4j2的日志配置文件,log4j2.xml文件的配置(实现控制台输出,各级别分别文件。。。

Log4j2的⽇志配置⽂件,log4j2.xml⽂件的配置(实现控制台输出,各级别分别⽂件。

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "/2002/xmlspec/dtd/2.10/xmlspec.dtd"><!-- status : 这个⽤于设置log4j2⾃⾝内部的信息输出,可以不设置,当设置成trace时,会看到log4j2内部各种详细输出 monitorInterval: Log4j能够⾃动检测修改配置⽂件和重新配置本⾝, 设置间隔秒数。

注:本配置⽂件的⽬标是将不同级别的⽇志输出到不同⽂件,最⼤2MB⼀个⽂件,⽂件数据达到最⼤值时,旧数据会被压缩并放进指定⽂件夹 --><Configuration status="WARN" monitorInterval="600"><Properties><!-- 配置⽇志⽂件输出⽬录,此配置将⽇志输出到tomcat根⽬录下的指定⽂件夹 --><Property name="LOG_HOME">${sys:catalina.home}/WebAppLogs/HHServices</Property></Properties><Appenders><!-- 优先级从⾼到低分别是 OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL --><!-- 单词解释: Match:匹配 DENY:拒绝 Mismatch:不匹配 ACCEPT:接受 --><!-- DENY,⽇志将⽴即被抛弃不再经过其他过滤器; NEUTRAL,有序列表⾥的下个过滤器过接着处理⽇志; ACCEPT,⽇志会被⽴即处理,不再经过剩余过滤器。

tomcat告警规则 -回复

tomcat告警规则 -回复

tomcat告警规则-回复在本文中,我们将详细探讨Tomcat的告警规则。

Tomcat是一个开源的Java Servlet容器,用于实现Java Servlet和JavaServer Pages(JSP)规范。

它是Java开发人员广泛使用的Web服务器,因其稳定性和灵活性而备受赞誉。

为了保持Tomcat服务器的稳定运行,及时发现和解决问题至关重要。

Tomcat提供了告警规则,通过这些规则,我们可以在服务器遇到问题时接收到警报,并迅速采取行动。

接下来,我们将一步一步回答关于Tomcat告警规则的问题。

第一步:了解Tomcat告警规则的基础知识Tomcat的告警规则是指一系列配置项,用于定义在服务器发生特定事件或达到特定条件时要触发的告警行为。

通过这些规则,我们可以设置服务器的告警级别、触发条件和报警方式等。

第二步:配置Tomcat告警规则要配置Tomcat的告警规则,我们需要修改Tomcat的配置文件。

主要的配置文件是`logging.properties`和`logging.xml`。

对于不同的Tomcat 版本,可能会有所不同,但大致的步骤是相同的。

1. 打开`logging.properties`文件,该文件位于Tomcat的`conf`目录下。

2. 找到关于日志的配置项,一般以`handlers`开头。

在这里,我们可以指定要使用的处理程序,以及每个处理程序的级别和格式。

3. 设置告警级别。

可以选择的级别包括`SEVERE`、`WARNING`、`INFO`、`CONFIG`、`FINE`等。

根据需求,我们可以将级别设置为`WARNING`或更高,以便只接收到重要的告警信息。

4. 配置处理程序。

我们可以选择使用内置的处理程序,如`java.util.logging.ConsoleHandler`或`org.apache.juli.FileHandler`,也可以自定义处理程序。

设置处理程序的目标和格式,以便更好地满足我们的需求。

tomcat

tomcat

tomcat logs ⽬录下各⽇志⽂件的解析(⼩结)tomcat每次启动时,⾃动在logs⽬录下⽣产以下⽇志⽂件,按照⽇期⾃动备份。

可以帮助我们更好的找出错误。

1、catalina.⽇期.log1、主要是记录tomcat启动时候的信息;2、启动的JVM参数以及操作系统等⽇志信息;3、没有使⽤log4j等⽇志机制,系统的的错误信息与打印语句也在这个⽇志⽂件中记录;4、linux下所有的⽇志都在catalina.out中。

09-Dec-2021 10:45:16.836 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/9.0.3509-Dec-2021 10:45:16.851 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: May 5 2020 20:36:20 UTC09-Dec-2021 10:45:16.851 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号(: 9.0.35.009-Dec-2021 10:45:16.851 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 1009-Dec-2021 10:45:16.851 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.009-Dec-2021 10:45:16.851 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd6409-Dec-2021 10:45:16.851 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: D:\jdk1.8.0_261\jre09-Dec-2021 10:45:16.852 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 1.8.0_261-b1209-Dec-2021 10:45:16.852 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation09-Dec-2021 10:45:16.852 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\21180\Desktop\Tomcat9-209-Dec-2021 10:45:16.852 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\Users\21180\Desktop\Tomcat9-209-Dec-2021 10:45:16.863 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令⾏参数:-Djava.util.logging.config.file=C:\Users\21180\Desktop\Tomcat9-2\conf\logging.properties09-Dec-2021 10:45:16.863 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令⾏参数:-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager09-Dec-2021 10:45:16.863 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令⾏参数:-Djdk.tls.ephemeralDHKeySize=204809-Dec-2021 10:45:16.863 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令⾏参数:-Djava.protocol.handler.pkgs=org.apache.catalina.webresources09-Dec-2021 10:45:16.863 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令⾏参数:-Dignore.endorsed.dirs=09-Dec-2021 10:45:16.863 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令⾏参数:-Dcatalina.base=C:\Users\21180\Desktop\Tomcat9-209-Dec-2021 10:45:16.864 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令⾏参数:-Dcatalina.home=C:\Users\21180\Desktop\Tomcat9-209-Dec-2021 10:45:16.865 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令⾏参数:-Djava.io.tmpdir=C:\Users\21180\Desktop\Tomcat9-2\temp09-Dec-2021 10:45:16.866 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 在java.library.path:[D:\jdk1.8.0_261\jre\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:\jdk1.8.0_261\bin;D:\jdk1.8.0_261\jre\bin;D:\oracle\product\10.2.0\db_1\BIN;C:\WINDOWS\system32;C:\WINDOW maven-3.6.1\bin;D:\Git\cmd;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\21180\AppData\Local\Microsoft\WindowsApps;;.]上找不到基于APR的Apache Tomcat本机库,该库允许在⽣产环境中获得最佳性能09-Dec-2021 10:45:18.370 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8880"]09-Dec-2021 10:45:18.610 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[2,348]毫秒内初始化09-Dec-2021 10:45:18.734 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina]09-Dec-2021 10:45:18.735 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/9.0.35]09-Dec-2021 10:45:18.773 信息 [main] org.apache.catalina.startup.HostConfig.deployDescriptor 正在部署部署描述符[C:\Users\21180\Desktop\Tomcat9-2\conf\Catalina\localhost\werp.xml]。

dockertomcat已主机名为日志输出路径

dockertomcat已主机名为日志输出路径

dockertomcat已主机名为⽇志输出路径⽬的:所有的⽇志输出到共享存储⽬录中⽅法:将 tomcat 的⽇志放置到 /data/logs/主机名/ 下,1. 修改tomcat/conf下的logging.properties[root@harbor conf]# cat logging.properties# Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements. See the NOTICE file distributed with# this work for additional information regarding copyright ownership.# The ASF licenses this file to You under the Apache License, Version 2.0# (the "License"); you may not use this file except in compliance with# the License. You may obtain a copy of the License at## /licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.handlers = .apache.juli.AsyncFileHandler, .apache.juli.AsyncFileHandler, .apache.juli.AsyncFileHandler, .apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler .handlers = .apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler############################################################# Handler specific properties.# Describes specific configuration info for Handlers.############################################################.apache.juli.AsyncFileHandler.level = FINE.apache.juli.AsyncFileHandler.directory = /data/logs/HOSTNAME/.apache.juli.AsyncFileHandler.prefix = catalina..apache.juli.AsyncFileHandler.level = FINE.apache.juli.AsyncFileHandler.directory = /data/logs/HOSTNAME/.apache.juli.AsyncFileHandler.prefix = localhost..apache.juli.AsyncFileHandler.level = FINE.apache.juli.AsyncFileHandler.directory = /data/logs/HOSTNAME/.apache.juli.AsyncFileHandler.prefix = manager..apache.juli.AsyncFileHandler.level = FINE.apache.juli.AsyncFileHandler.directory = /data/logs/HOSTNAME/.apache.juli.AsyncFileHandler.prefix = host-manager.java.util.logging.ConsoleHandler.level = FINEjava.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter############################################################# Facility specific properties.# Provides extra control for each logger.############################################################org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFOorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = .apache.juli.AsyncFileHandlerorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFOorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = .apache.juli.AsyncFileHandlerorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFOorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = .apache.juli.AsyncFileHandler# For example, set the org.apache.catalina.util.LifecycleBase logger to log# each component that extends LifecycleBase changing state:#org.apache.catalina.util.LifecycleBase.level = FINE# To see debug messages in TldLocationsCache, uncomment the following line:#piler.TldLocationsCache.level = FINE2. 修改 server.xml 配置⽂件,指定localhost_access_log.txt ⽂件路径[root@harbor conf]# tail -f server.xmlDocumentation at: /docs/config/valve.htmlNote: The pattern used is equivalent to using pattern="common" --><Valve className="org.apache.catalina.valves.AccessLogValve" directory="/data/logs/HOSTNAME"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t &quot;%r&quot; %s" /><Context docBase="/data/webserver" path="/" reloadable="true" /></Host></Engine></Service></Server>3. 修改tomcat/bin/catalina.sh ,使⽤ sed 替换JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -server -Xms2048M -Xmx2048M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:-UseCounterDecay -XX:+AlwaysPreTouch -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:MaxTenuringThreshold=6 -XX:+ExplicitGCInvokesConcurrent -XX:+ParallelRefProcEnabled"#建⽴应⽤输⼊⽬录mkdir -p /data/logs/$HOSTNAME/EMDIsed -i "s/HOSTNAME/$HOSTNAME/g" /data/tomcat/conf/logging.propertiessed -i "s/HOSTNAME/$HOSTNAME/g" /data/tomcat/conf/server.xmlsed -i "s/HOMESNAME/$HOSTNAME/g" /data/tomcat/webapps/HIPBusiConsumer/WEB-INF/classes/log4j.properties #修改程序log4j 的输出路径if [ -z "$CATALINA_OUT" ] ; thenCATALINA_OUT=/data/logs/$HOSTNAME/catalina.outfi。

SpringBoot系列——Logback日志,输出到文件以及实时输出到web页面

SpringBoot系列——Logback日志,输出到文件以及实时输出到web页面

SpringBoot系列——Logback⽇志,输出到⽂件以及实时输出到web页⾯ 前⾔ SpringBoot对所有内部⽇志使⽤通⽤⽇志记录,但保留底层⽇志实现。

为Java Util Logging、Log4J2和Logback提供了默认配置。

在不同的情况下,⽇志记录器都预先配置为使⽤控制台输出,同时还提供可选的⽂件输出。

默认情况下,SpringBoot使⽤Logback进⾏⽇志记录。

⽇志级别有(从⾼到低):FATAL(致命),ERROR(错误),WARN(警告),INFO(信息),DEBUG(调试),TRACE(跟踪)或者 OFF(关闭),默认的⽇志配置在消息写⼊时将消息回显到控制台。

默认情况下,将记录错误级别、警告级别和信息级别的消息。

PS:Logback does not have a FATAL level. It is mapped to ERROR Logback没有FATAL致命级别。

它被映射到ERROR错误级别 详情请戳官⽅⽂档: 本⽂主要记录Logback⽇志输出到⽂件以及实时输出到web页⾯ 输出到⽂件 我们创建SpringBoot项⽬时,spring-boot-starter已经包含了spring-boot-starter-logging,不需要再进⾏引⼊依赖 标准⽇志格式2014-03-05 10:57:51.112 INFO 45469 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/7.0.522014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1358 ms2014-03-05 10:57:51.698 INFO 45469 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]2014-03-05 10:57:51.702 INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]Date and Time: Millisecond precision and easily sortable. ⽇期和时间:毫秒精度,易于排序。

将tomcat运行时的日志输出到指定文件

将tomcat运行时的日志输出到指定文件1.找到tomcat安装目录下的bin目录。

2.修改bin目录下面的catalina.bat文件,对照这个文件,将最后一部分修改成下面这样。

rem Execute Java with the applicable propertiesif not "%JPDA%" == "" goto doJpdaif not "%SECURITY_POLICY_FILE%" == "" goto doSecurity%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBU G_OPTS%-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CM D_LINE_ARGS% %ACT ION% > %CATALINA_BASE%\logs\catalina.outgoto end:doSecurity%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBU G_OPTS%-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager-Djava.security.policy=="%SECURITY_POLICY_FILE%"-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CM D_LINE_ARGS% %ACTION% > %CATALINA_BASE%\logs\catalina.outgoto end:doJpdaif not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_ OPTS% %DEBUG_OPTS%-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CM D_LINE_ARGS% %ACT ION% > %CATALINA_BASE%\logs\catalina.outgoto end:doSecurityJpda%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_ OPTS% %DEBUG_OPTS%-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager-Djava.security.policy=="%SECURITY_POLICY_FILE%"-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CM D_LINE_ARGS% %ACT ION% > %CATALINA_BASE%\logs\catalina.outgoto end:end3.将startup.bat中倒数第二行 call "%EXECUTABLE%"start %CMD_LINE_ARGS% 改为call "%EXECUTABLE%" run %CMD_LINE_ARGS%注:以上加粗的是指定输出路径。

catalina.log日志生成规则 -回复

catalina.log日志生成规则-回复“catalina.log日志生成规则”是指Apache Tomcat服务器中的c atalina.log文件的生成规则和相关信息。

Apache Tomcat是一个开源的Java Servlet容器和JavaServer Pages(JSP)引擎,用于支持Java应用程序的部署和运行。

catalina.log是Tomcat服务器生成的日志文件,记录了服务器的运行状态、错误信息和其他关键事件。

在这篇文章中,我们将深入探讨catalina.log日志生成规则,帮助读者更好地理解Tomcat服务器的运行和调试。

第一步:理解Tomcat服务器的日志模块在开始探讨catalina.log的生成规则之前,我们先来了解一下Tomcat 服务器的日志模块。

Tomcat服务器使用Apache Commons Logging 库来记录日志。

该库提供了一套通用的日志接口,并且可以与多种日志实现框架集成,如Log4j、slf4j等。

这使得开发人员可以根据自己的需求选择最适合的日志框架。

在Tomcat中,默认的日志实现框架是java.util.logging。

第二步:理解catalina.log日志文件catalina.log是Tomcat服务器生成的日志文件,它主要用于记录服务器的运行状态、错误信息和其他关键事件。

所有的Tomcat组件和扩展都会将日志信息写入catalina.log文件。

这些日志信息可以帮助开发人员进行服务器的调试、故障排查和性能优化。

catalina.log文件默认存储在Tomcat服务器的logs目录下。

在每次服务器启动时,catalina.log文件都会被重新创建。

一般情况下,日志信息会以追加的方式写入catalina.log文件,以避免覆盖之前的日志记录。

第三步:catalina.log日志生成规则catalina.log日志的生成规则由Tomcat的logging.properties文件中的配置决定。

windows环境,tomcat输出日志到文件和控制台

网上找的,本人实验成功的,发来大家共享在windows下tomcat的启动脚本默认不像unix下的脚本那样输出应用日志到logs/catalina.out,只在console中输出,如果日志刷的太快根本没法找到错误信息。

为了把日志输出到文件,需要修改以下脚本。

1)修改startup.bat,把脚本的倒数第二行:call "%EXECUTABLE%"start %CMD_LINE_ARGS%改为:call "%EXECUTABLE%" run %CMD_LINE_ARGS%2)修改catalina.bat最后的一部分代码:红色划线的部分是需要增加的代码:>>�TALINA_HOME%\logs\catalina.�te:~0,10%.out其中的catalina.�te:~0,10%.out是为了分日期存放日志文件。

在cmd下echo �te%看看,如:2011-04-19星期二发现从第一个字符开始,长度为10的子串正是2011-04-19。

这样在开发过程中每次双击startup.bat启动tomcat,脚本都会把应用日志保存到日期对应命名的日志文件中了。

可是又带来一个新的问题,由于>>�TALINA_HOME%\logs\catalina.�te:~0,10%.out 把输出都重定向到了文件中,console中就无法实时显示日志内容了,如何做到既把日志保存到磁盘文件中,又能在屏幕上实时监控日志呢?想到unix下有tail -f ,于是试着度娘了一下“dos tail”,还真找到了一个在dos下的tail命令,只是要先安装一个windows组件Windows Server 2003 Resource Kit Tools。

如安装目录为“D:\Program Files\Windows Resource Kits\Tools”,把这个路径加入到PATH环境变量。

tomcat基本操作

tomcat基本操作
1. 启动Tomcat:进入Tomcat的bin目录,执行startup.bat (Windows)或startup.sh(Linux)脚本;
2. 关闭Tomcat:进入Tomcat的bin目录,执行shutdown.bat (Windows)或shutdown.sh(Linux)脚本;
3. 部署一个Web应用程序:将具有.war文件扩展名的Web应用程序文件复制到$CATALINA_HOME/webapps目录中,然后等待Tomcat启动自动解压缩并部署;
4. 卸载一个Web应用程序:删除
$CATALINA_HOME/webapps目录中具有相应应用程序文件夹名称的文件夹;
5. 查找Tomcat版本号:进入Tomcat的bin目录,运行version.bat(Windows)或version.sh(Linux)脚本;
6. 查看运行时日志:进入Tomcat的logs目录,并查看各个日志文件;
7. 修改Tomcat端口号:修改
$CATALINA_HOME/conf/server.xml文件中的Port属性;8. 配置Tomcat环境变量:将$CATALINA_HOME/bin添加到系统环境变量中;
9. 配置Tomcat的JVM参数:修改
$CATALINA_HOME/bin/catalina.sh(Linux)或catalina.bat (Windows)文件;
10. 配置Tomcat的安全:修改
$CATALINA_HOME/conf/tomcat-users.xml文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.找到tomcat安装目录下的bin目录。

2.修改bin目录下面的catalina.bat文件,对照这个文件,将最后一部分修改成下面这样。

rem Execute Java with the applicable properties
if not "%JPDA%" == "" goto doJpda
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS%
-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"
-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACT ION% > %CATALINA_BASE%\logs\catalina.out
goto end
:doSecurity
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS%
-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager
-Djava.security.policy=="%SECURITY_POLICY_FILE%"
-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"
-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACT ION% > %CATALINA_BASE%\logs\catalina.out
goto end
:doJpda
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS%
-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"
-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACT ION% > %CATALINA_BASE%\logs\catalina.out
goto end
:doSecurityJpda
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS%
-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager
-Djava.security.policy=="%SECURITY_POLICY_FILE%"
-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"
-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACT ION% > %CATALINA_BASE%\logs\catalina.out
goto end
:end
3.将startup.bat中倒数第二行 call "%EXECUTABLE%"
start %CMD_LINE_ARGS% 改为 call "%EXECUTABLE%" run %CMD_LINE_ARGS%
注:以上加粗的是指定输出路径。

路径前面的“ > ”代表的是输出是对当前文件的内容进行覆盖,也就是如果自己指定的catalina.out文件中有内容,将会被覆盖。

如果使用“ >> ”, 则不会覆盖,而是在catalina.out文件尾部追加信息。

相关文档
最新文档