Commons Logging
介绍
对于程序来说,Log是很有用甚至是必不可少的,Tomcat程序自然也不例外。Tomcat应用Apache Commons Logging来实现日志。Commons Logging 是Apache 下面的一个项目。它提供了一个各种不同日志的抽象。我们知道常用的日志实现有Log4J,Avalon LogKit (the Avalon Framework's logging infrastructure)以及 JDK 1.4等等。试用Commons Logging我们的程序可以灵活的改变具体的日志实现类,尽管我们不常这样做。
配置
应用Commons Logging几乎不需要什么配置,它会自动寻找具体的日志实现。路径按先后顺序如下:
1. 在classpath下寻找commons-logging.properties 文件,如果有,找里面的org.apache.commons.logging.Log属性值,找到了就用这个实现类。如:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
表示用Log4j;
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
表示用JDK 1.4的日志;
2. 如果1做不到,就尝试在system property中寻找org.apache.commons.logging.Log。接下来和1一样。
3. 如果1和2做不到,就在classpath下面寻找log4j的lib,如果有就用log4j。注意,你还得在classpath下提供log4j.properties。不然会遇到如下错误:
log4j:WARN No appenders could be found for logger (commons.logging.TestLogging).
log4j:WARN Please initialize the log4j system properly.
4. 如果上面的做不到,就找jdk1.4的实现。
5. 最后如果上面都找不到,就用它自己提供的简单实现:org.apache.commons.logging.impl.SimpleLog。
可见,我们如果想用log4j的话,你只需要把commons-logging-1.1.1.jar 和
log4j-1.2.11.jar放到你的classpath下面,然后,写一个log4j.properties,也放在classpath下面。
例子
一个java class,可以打印出所有的系统属性。
package commons.logging;
import java.util.Enumeration;
import java.util.Properties;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class TestLogging {
private static Log log = LogFactory.getLog(TestLogging.class);
public static void main(String args[]) throws Exception {
printSystemProperties();
}
private static void printSystemProperties() {
Properties sysprops = System.getProperties();
for (Enumeration e = sysprops.propertyNames(); e.hasMoreElements();) {
String key = (String) e.nextElement();
String value = sysprops.getProperty(key);
if (log.isDebugEnabled())
log.debug(key + "=" + value);
if (log.isInfoEnabled())
log.info(key + "=" + value);
}
}
}
log4j.properties
log4j.rootLogger=info, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
Tomcat 内部日志
Tomcat内部是hard code试用jdk的日志实现的:
org.apache.juli.logging.LogFactory
public Log getInstance(String name)
throws LogConfigurationException {
return DirectJDKLog.getInstance(name);
}
所以要想看到INFO一下的日志需要修改tomcat试用的jre/lib/logging.properties:
.level= FINE
...
java.util.logging.ConsoleHandler.level = FINE
分享到:
相关推荐
`tomcat-juli.jar`则是Tomcat的Java Util Logging (JUL)接口实现。JUL是Java标准库中的一个日志框架,允许开发者选择不同的日志实现。Tomcat-juli提供了一种定制的日志记录机制,使得开发者能够更加精细地控制日志...
在本文中,我们将深入探讨Apache Tomcat 8.5.100这一特定版本的重要特性、安装与配置过程,以及如何利用它来托管Web应用。 首先,Apache Tomcat 8.5.x系列是基于Java EE 8规范的,这意味着它支持最新的Servlet 4.0...
- 初始化日志系统,如`org.apache.juli.logging`,记录启动过程中的信息和错误。 11. **服务运行** - 此时,Tomcat已准备就绪,等待接收并处理来自客户端的请求。 通过深入理解这些步骤,开发者可以更好地理解...
在本文中,我们将深入探讨Tomcat 8.5.x系列的核心特性和安装部署过程。 1. **Tomcat简介**: - Tomcat是按照Java Community Process的JSR 154和JSR 245规范实现的Servlet容器,它支持Servlet和JSP标准。 - Tomcat...
`启动tomcat.txt`可能是记录启动过程的文本文件,或者包含额外的启动指令。如果遇到问题,你可以查看这个文件来获取错误信息。 在测试环境中,你可能需要部署自己的Web应用。这可以通过将WAR文件放入`webapps`目录...
【描述】:Tomcat启动管理工具涵盖了启动、停止、监控以及配置Tomcat服务器的过程。这些工具可以帮助开发者有效地管理他们的应用服务,确保系统稳定运行,并在必要时进行故障排查。 【标签】: 1. Tomcat:Apache ...
`Tomcat启动分析-Servlet-Web.xml.doc`文档可能涵盖了启动过程中的关键步骤,包括加载`context.xml`(用于全局配置)、解析`web.xml`(Web应用的部署描述符)以及初始化Servlet和过滤器等。在启动过程中,Tomcat会...
综上,这篇博文可能会涵盖如何在Windows环境下通过服务安装、命令行参数以及批处理脚本来无窗口启动和关闭Tomcat,同时可能会涉及到源码分析和安全性的建议。通过这些方法,你可以更加高效地管理和维护你的Tomcat...
在命令行中,运行`startup.sh`(Unix/Linux/Mac)或`startup.bat`(Windows)来启动Tomcat。 - 浏览器中输入`http://localhost:8080`,如果Tomcat已成功启动,你应该能看到默认的欢迎页面。 3. **部署Web应用** -...
4. **生命周期管理**:在`common`和`shared`目录中,可以看到Tomcat如何管理和控制各个组件的生命周期,包括启动、停止、初始化和销毁等过程。 5. **配置管理**:Tomcat的配置文件通常位于`conf`目录下,源码解析...
2. 构建完成后,找到bin目录下的startup.sh(Linux/Mac)或startup.bat(Windows)脚本,运行它启动Tomcat6服务器。 3. 通过访问http://localhost:8080验证Tomcat是否成功启动。 三、源代码结构解析 Tomcat6的源...
Apache Tomcat 6.0.24 源码分析 Apache Tomcat 是一个开源的、免费的Web应用服务器,它实现了Java Servlet和JavaServer Pages(JSP)规范,是开发和部署Java Web应用程序的理想平台。这个源码版本6.0.24包含了...
通过深入学习和分析"apache-tomcat-7.0.90-src",开发者不仅可以提升对Servlet和JSP技术的理解,还可以掌握Web服务器的架构设计,这对于构建高效、可扩展的Web应用和服务至关重要。同时,这也有助于开发者进行性能...
日志管理则可以通过配置`logging.properties`文件来定制,以便收集和分析应用程序的运行状况。 总的来说,Apache Tomcat 7.0.47是一个轻量级且强大的Java Web应用服务器,适合开发和部署各种规模的Web项目。尽管...
绿色解压版意味着你无需进行复杂的安装过程,只需将压缩包解压到任意位置,然后按照一定的步骤配置即可启动服务。这使得在不同的系统环境间移动或备份Tomcat变得简单快捷。 以下是Tomcat 7.0.35中的关键组成部分和...
Catalina日志记录服务器的整体运行情况,包括启动和关闭过程,以及全局错误。主机应用日志则是每个Web应用单独的日志,记录各自应用的运行信息。这些日志通常会输出到`logs`目录下,如`catalina.out`和特定应用的...
### TOMCAT原理详解及请求过程 #### 一、TOMCAT概述 TOMCAT是一个开源的免费的轻量级Web应用服务器,它主要作为一个JSP/Servlet容器而被广泛使用。Tomcat支持Java Servlet和JavaServer Pages (JSP)技术,并且提供...
`catalina.out`是Tomcat默认的日志文件,它记录了Tomcat启动和运行过程中的所有标准输出和错误信息。当日志文件增长过快或过大时,查找特定信息会变得困难。因此,将日志按天分割是一种常见的日志管理策略。 描述中...
- **webapps**: 该目录用于放置Web应用程序,Tomcat启动时会自动扫描此目录下的WAR或目录结构。 5. **安全管理** - **用户与角色**: 在`$CATALINA_HOME/conf/tomcat-users.xml`中定义用户和角色,以便进行权限...
标题“Tomcat启动脚本”涉及的是Apache Tomcat服务器的启动流程,这通常涉及到一系列的配置文件和命令行操作。Tomcat是Java Servlet和JavaServer Pages(JSP)的开源应用服务器,它提供了运行Web应用程序的环境。在...