获取Tomcat更详细的日志
前言
有时候tomcat报错未详细,未能定位到原因。
解决方法:
获取更详细的日志,以便调试。
详细步骤:
获取详细的日志,方法如下:
在WEB-INF/classes目录下logging.properties文件末尾追加以下内容(红色字体,#是注释用于理解):
#配置tomcat的日志输出方式,这里表示文件输出和控制台输出
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
#设置日志的级别为:FINE 跟踪信息 - 一般跟踪 + 方法条目、出口和返回值。
org.apache.juli.FileHandler.level = FINE
#日志输出目录,此设置表示tomcat日志输出到tomcat\logs目录下
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#日志输出前缀,后面跟日期信息(yyyy-MM-dd)
org.apache.juli.FileHandler.prefix = error-debug.
#控制台日志输出级别
java.util.logging.ConsoleHandler.level = FINE
#控制台日志输出格式化类
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
保存追加的内容,并重启tomcat,即可在tomcat的log目录下产生以下文件:
error-debug.2019-04-08.log
打开文件error-debug即可看到详细日志
从详细日志中即可排查出原因。
REF:
https://www.cnblogs.com/seamy/p/9907967.html
获取Tomcat更详细的日志的更多相关文章
- 如何获取比 dism.log 更详细的日志
正文 在工作中,曾经遇到过一个问题. 有一个 component,名字叫做 Oxford Adaptive Learning Dictionary,是一款牛津词典的应用.这个 component,需要 ...
- 微信小程序 报错 “对应的服务器无效。控制台输入 showRequestInfo()可以获取更详细信息”
之前做的项目突然无法读出数据了,一测试发现报这个错误==>对应的服务器无效.控制台输入 showRequestInfo()可以获取更详细信息,后来发现是SSL证书到期了.重新申请了一个证书,免费 ...
- 获取异常具体信息 尤其是运行时异常例如NullPointerException 比e.getMessage()更详细
///打印异常信息 尤其是运行时异常 比getMessage()更详细public static String getMessageInfo(Exception e){ OutputStream op ...
- Nginx配置中的log_format用法梳理(设置详细的日志格式)
nginx服务器日志相关指令主要有两条:一条是log_format,用来设置日志格式:另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,可以参加ngx_http_log_mo ...
- Tomcat打印运行时日志(控制台),访问日志,启动日志
1.sh catlina.sh run以控制台形式输出 2.sever.xml.配置acesslog,设置访问日志输出 Tomcat的访问日志是靠org.apache.catalina.valves. ...
- 实战DeviceIoControl 之四:获取硬盘的详细信息
Q 用IOCTL_DISK_GET_DRIVE_GEOMETRY或IOCTL_STORAGE_GET_MEDIA_TYPES_EX只能得到很少的磁盘参数,我想获得包括硬盘序列号在内的更加详细的信息,有 ...
- 实战DeviceIoControl系列之四:获取硬盘的详细信息
Q 用IOCTL_DISK_GET_DRIVE_GEOMETRY IOCTL_STORAGE_GET_MEDIA_TYPES_EX只能得到很少的磁盘参数,我想获得包括硬盘序列号在内的更加详细的信息,有 ...
- java获取tomcat中的properties文件
System.getProperty("catalina.home") 获取tomcat的绝对路径 获取文件的绝对路径 在windous中拼接路径是" \ " ...
- Docker 1.13.0 详细更新日志
本文讲的是Docker 1.13.0 详细更新日志[编者的话]Docker发布1.13.0版本,此次版本更新内容较多,以下为该版本具体的变更. 构建 添加在构建时可以指定镜像用作高速缓存源的功能. 这 ...
随机推荐
- linux的基本操作(正则表达式)
正则表达式 这部分内容可以说是学习shell脚本之前必学的内容.如果你这部分内容学的越好,那么你的shell脚本编写能力就会越强.所以不要嫌这部分内容啰嗦,也不要怕麻烦,要用心学习.一定要多加练习,练 ...
- python中 requests 支持 socks代理
参考博客 https://zhengheng.me/2016/08/25/python-requests-socks5/
- C/S,B/S的区别
一.概念说明 C/S(Client/Server(客服机/服务器))架构:客户端/服务器架构.通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客服端才可进行管理操作. ...
- C# 日期时间
--DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 取当前年月日时分秒 currentTime=System. ...
- python语法_if判断
age_of_princal = 56 guess_age = int(input("e guess a age:")) if guess_age == age_of_princa ...
- jQuery 实现点击页面其他地方隐藏菜单
点击页面其它地方隐藏id为messageList的div 代码: $('body').delegate("#message", 'click', function(e) { var ...
- android从IIS/asp.net下载apk文件
解决步骤: 1.web.config中 <configuration> <configSections> ... <section name="rewr ...
- 【LeetCode每天一题】Merge Intervals(合并区间)
Given a collection of intervals, merge all overlapping intervals. Example 1: Input: [[1,3],[2,6],[8, ...
- Sigleton bj
package com.bjsxt.base; class Sigleton{ private Sigleton(){}; private static Sigleton instance = new ...
- ACM-ICPC 2018 南京赛区网络预赛 Solution
A. An Olympian Math Problem cout << n - 1 << endl; #include <bits/stdc++.h> using ...