Tomcat保存输出日志

1、首先更改startup.bat,将

call "%EXECUTABLE%" start %CMD_LINE_ARGS%

改为:

call "%EXECUTABLE%" run %CMD_LINE_ARGS%

2、在catalina.bat中添加:

%_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% %ACTION%>> %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% %ACTION%>> %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% %ACTION%>> %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% %ACTION%>> %CATALINA_BASE%\logs\catalina.out

红色为新添加内容。

3、坏处,所有的日志都写在一个文件里面去,导致文件越来越大。

4、正在寻找其他解决办法。

### 如何在 IntelliJ IDEA 中保存 Tomcat 运行日志 为了确保能够正确保存 Tomcat 的运行日志,在 IntelliJ IDEA 中可以按照以下方式操作: #### 1. 配置 Tomcat 日志编码 为了避免乱码问题,需设置 Tomcat 使用 UTF-8 编码。这可以通过修改 Tomcat 的 VM 选项完成。具体步骤如下: - 打开 IntelliJ IDEA 的 **Run/Debug Configurations** 对话框[^2]。 - 在对话框左侧选择对应的 Tomcat Server 配置项。 - 切换到 **VM options** 字段,添加 `-Dfile.encoding=UTF-8` 参数以指定字符集为 UTF-8[^1]。 #### 2. 修改 Tomcat 日志路径 默认情况下,Tomcat日志打印到控制台窗口中。如果希望将其保存到文件,则需要调整 `catalina.sh` 或 `catalina.bat` 文件中的日志输出配置。 - 定位到 Tomcat 安装目录下的 `bin/catalina.sh`(Linux/Mac)或 `bin/catalina.bat`(Windows)脚本文件。 - 添加或修改以下参数以重定向标准输出和错误流至特定的日志文件: ```bash CATALINA_OUT="$CATALINA_BASE/logs/catalina.out" exec "$_RUNJAVA" $JAVA_OPTS \ -Djava.util.logging.config.file="$LOGGING_CONFIG" \ -Djava.util.logging.manager="org.apache.juli.ClassLoaderLogManager" \ -classpath "$CLASSPATH" \ org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 & ``` 上述代码片段的作用是将所有的日志信息追加写入到 `$CATALINA_BASE/logs/catalina.out` 文件中。 #### 3. 自定义日志级别与格式 通过编辑 Tomcat 的全局日志管理器配置文件 (`conf/logging.properties`) 来进一步定制化日志行为。例如: - 将 `.level=INFO` 改为更详细的调试模式 `.level=FINEST`。 - 增强时间戳精度或者增加线程 ID 显示等附加字段。 #### 4. 导出 IntelliJ 控制台日志 除了让 Tomcat 自己记录日志外,还可以利用 IntelliJ IDEA 提供的功能导出当前显示于终端内的全部内容作为临时解决方案之一: - 当前正在查看的标准输出区域右键点击任意位置; - 从弹出菜单里选取 “Copy All” 功能复制整个缓冲区数据; - 接着粘贴到外部文本编辑工具另存为你想要的名字即可。 以上就是在 IntelliJ IDEA 下针对 Tomcat 进行有效日志存储的一些常见做法总结^。 ```python # 示例 Python 脚本用于演示如何读取 catalina.out 文件内容 with open('/path/to/tomcat/logs/catalina.out', 'r') as f: lines = f.readlines() for line in lines[-10:]: print(line.strip()) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值