tomcat 启动时使用的是java.util.logger 日志框架
tomcat 实现类
package org.apache.juli.logging;
import java.util.logging.ConsoleHandler;
import java.util.logging.Formatter;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* Hardcoded java.util.logging commons-logging implementation.
*/
class DirectJDKLog implements Log {
下面在启动类中定义了一个log 对象
package org.apache.catalina.startup;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.catalina.Globals;
import org.apache.catalina.security.SecurityClassLoad;
import org.apache.catalina.startup.ClassLoaderFactory.Repository;
import org.apache.catalina.startup.ClassLoaderFactory.RepositoryType;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
/**
* Bootstrap loader for Catalina. This application constructs a class loader
* for use in loading the Catalina internal classes (by accumulating all of the
* JAR files found in the "server" directory under "catalina.home"), and
* starts the regular execution of the container. The purpose of this
* roundabout approach is to keep the Catalina internal classes (and any
* other classes they depend on, such as an XML parser) out of the system
* class path and therefore not visible to application level classes.
*
* @author Craig R. McClanahan
* @author Remy Maucherat
*/
public final class Bootstrap {
private static final Log log = LogFactory.getLog(Bootstrap.class);
在main函数中我们打印一个debug日志
/**
* Main method and entry point when starting Tomcat via the provided
* scripts.
*
* @param args Command line arguments to be processed
*/
public static void main(String args[]) {
String javaVersion = System.getProperty("java.version");
log.debug("starting ..."+javaVersion);
该日志是打不出来的
为什么呢?
如何让这该日志打印出来呢?
第一修改tomcat_home/conf/logger.properties 文件日志级别
结果依然没有打印出来
为什么呢?
因此此刻tomcat 并没有启动,默认读的日志文件依然是java_home/jar/lig/logger.properties 文件
修改该文件日志级别后日志打印正常。
细心的朋友们可能会注意到,tomcat为什么会打印红色日志?
因为
/**
* Create a ConsoleHandler for System.err.
*
* The ConsoleHandler is configured based on
* LogManager properties (or their default values).
*
*/
public ConsoleHandler() {
sealed = false;
configure();
setOutputStream(System.err);
sealed = true;
}
System.err 是打印红色字体的
结束...
tomcat 日志从这里开始,欢迎持续关注
跟着疯子从0 学计算机,从这里开始...
https://github.com/sparrowzoo
分享到:
相关推荐
tomcat日志详解,有了这一个文档,再也不用担心tomcat日志不会看了
linux 环境中 脚本 定时清理tomcat日志文件
配置Tomcat日志级别及日志查看。1:tomcat中的日志开关文件介绍; 2、Tomcat 日志信息; 3、修改 Tomcat 运行日志的等级;4、使用 log4j 记录应用程序日志或系统日志;
win7自动清除tomcat缓存及日志
自己写的tomcat日志分割脚本,自动分割日志,自动删除过期日志,也可以用于其他容器日志分割,稍加修改即可
tomcat 日志设置方案,个人写下来了,希望对同仁有所帮助
tomcat日志切分方案,离线包
tomcat日志配置所有的包,全部官网下载。
用java swing写的一个简单的日志分析工具,读取的是tomcat默认的日志格式,用的是jdk1.7编译的。...如果日志文件比较大,可以用命令设置内存启动(如:java -Xms512m -Xmx2048m -jar tomcat日志分析器.jar)
tomcat日志输出文件的配置,tomcat一些日常配置
Tomcat的详细错误日志不见了,只报一个万恶的Context [] startup failed due to previous errors,却找不到previous errors具体是啥东西
Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli...
以下脚本主要备份的日志文件为tomcat的catalina.out、localhost_access_log.yyyy-mm-dd.log日志和项目的日志文件,其中项目的日志文件格式为”projectname-yyyy-mm-dd.log”,以下为备份脚本,具体的操作都有相应的...
tomcat生成日志文件过大,而且还没有日期,这个文档把日志按日期分类,便于管理删除等。。
iis日志分析和tomcat日志分析(python语言),并显示出攻击方式、攻击ip以及ip归属地
tomcat控制台详细错误日志设置,有时tomcat控制台报的错误比较模糊,不知道该怎样去找原因,现在好了,按照简单说明配置一下
tomcat日志时间设置格式如下,远程访问打印信息设置
之前分享过博客大数据离线web网站日志分析,好多大数据学习爱好者,想要拿到测试数据,可以来这里下载咯,每次发邮件挺麻烦滴~ 原博客地址:https://blog.csdn.net/MrZhangBaby/article/details/87360470 如果你...
tomcat日志分割方法,是用了log4j
tomcat日志分隔配置手册