- 浏览: 1337940 次
- 性别:
- 来自: 湖南澧縣
文章分类
最新评论
-
虾米小尹:
不行啊!2.2-0.25=1.9500000000000002 ...
JavaScript浮点数运算 —— 精度问题 -
heluping000000:
引用String a= "abc",首先在 ...
String,到底创建了多少个对象? -
mack:
谢谢分享matcher.appendReplacement(s ...
string.replaceAll()中的特殊字符($ \)与matcher.appendReplacement -
wzt3309:
完全理解,比网上其他资料都要详细
String,到底创建了多少个对象? -
u014771876:
Java中十六进制转换 Integer.toHexString()
1) 首先在classpath下寻找自己的配置文件commons-logging.properties,如果找到,则使用其中定义的Log实现类;
2) 如果找不到commons-logging.properties文件,则在查找是否已定义系统环境变量org.apache.commons.logging.Log,找到则使用其定义的Log实现类;
如果在Tomact中可以建立一个叫 :CATALINA_OPTS 的环境变量
给
他的
值 : - Dorg.apache.commons.logging.Log = org.apache.commons.logging.impl.SimpleLog - Dorg.apache.commons.logging.simplelog.defaultlog = warn
3) 否则,查看classpath中是否有Log4j的包,如果发现,则自动使用Log4j作为日志实现类;
4) 否则,使用JDK自身的日志实现类(JDK1.4以后才有日志实现类);
5) 否则,使用commons-logging自己提供的一个简单的日志实现类SimpleLog;
#commons-logging.properties
文件配置信息
#
org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
# Must be one
of ("trace", "debug", "info", "warn",
"error", or "fatal").
#
log4j
org.apache.commons.logging.Log=
org.apache.commons.logging.impl.Log4JLogger
#JDK5 Logger
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
|
log.fatal(Object message);
log.fatal(Object message, Throwable t);
log.error(Object message);
log.error(Object message, Throwable t);
log.warn(Object message);
log.warn(Object message, Throwable t);
log.info(Object message);
log.info(Object message, Throwable t);
log.debug(Object message);
log.debug(Object message, Throwable t);
log.trace(Object message);
log.trace(Object message, Throwable t);
|
log.isFatalEnabled();
log.isErrorEnabled();
log.isWarnEnabled();
log.isInfoEnabled();
log.isDebugEnabled();
log.isTraceEnabled();
|
private
static
Log
log
= LogFactory
.getLog
(Test.
class
);
|
log
.debug(
"Debug
info."
);
|
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class TestLog { private static Log log = LogFactory.getLog(TestLog.class); public void log() { log.debug("Debug info."); log.info("Info info"); log.warn("Warn info"); log.error("Error info"); log.fatal("Fatal info"); } public static void main(String[] args) { System.out.println("log obj = " + log); TestLog test = new TestLog(); test.log(); } }
log obj = org.apache.commons.logging.impl.Jdk14Logger
@173a10f
2009-11-19 22:48:48 TestLog log
信息: Info info
2009-11-19 22:48:49 TestLog log
警告: Warn info
2009-11-19 22:48:49 TestLog log
严重: Error info
2009-11-19 22:48:49 TestLog log
严重: Fatal info
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
|
log4j.rootLogger=info, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file
name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p
[%t] - %m%n
|
log obj = org.apache.commons.logging.impl.Log4JLogger
@1ffb8dc INFO [main] - Info info WARN [main] - Warn info ERROR [main] - Error info FATAL [main] - Fatal info |
如果把 commons-logging.properties配置成如下:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
则输出:
log obj = org.apache.commons.logging.impl.SimpleLog
@69b332
[INFO] TestLog - Info info
[WARN] TestLog - Warn info
[ERROR] TestLog - Error info
[FATAL] TestLog - Fatal info
为了简化配置,我们可以不使用commons-logging的配置文件,也不设置commons-logging相关的环境变量,只需log4j的包放入classpath就可以了,这样就可以完成commons-logging与Log4j的结合。如果以后不想使用log4j,只需将log4j的包从classpath中移除就可以了。 当然使用时Log4j会根据指定的日志器名(LogFactory.getLog(TestLog.class)
)自动搜索classpath下log4j.properties
或
log4j.xml
配置文件中对应的日志器,如果没有找到,可能会显示以下错误信息:
log4j:WARN No appenders could be found for logger (TestLog).
log4j:WARN Please initialize the log4j system properly.
发表评论
-
Java正则表达式
2014-03-14 10:16 1766Java正则表达式详解 作者:jzj 文 ... -
类的初始化与清理
2013-06-24 22:20 1456初始化时内存清零 当创建一个对象时,首先将在堆上为这个对象分 ... -
protected,这个错了吗?
2013-06-24 22:17 1251这几天对protected修饰符有点迷糊,随便找同事要了一本 ... -
Java中BigDecimal的8种舍入模式
2013-06-21 18:42 2185java.math.BigDecimal不可变的、任意精度的 ... -
Tomcat性能参数设置
2010-12-27 15:35 34802默认参数不适合生产环境使用,因此需要修改一些参数 1、 ... -
Java 6 JVM参数选项大全
2010-12-14 11:16 1638http://kenwublog.com/docs/java6 ... -
对象的安全构造
2013-06-21 18:43 1546在构造期间,不要公布“this”引用 一种可以将数据争用引 ... -
Java断言(assert)—— 转
2010-06-20 10:36 12101一、概述 在C和C++语言中都有assert关键,表示断言。 ... -
eclipse调试
2010-06-04 00:11 8083eclipse远程调试 在eclipse3.4前,远程调试时 ... -
protected,你真的理解了吗?
2010-05-09 17:56 2150Java中的访问控制修饰符有四个级别,但属protected最 ... -
利用反射进行深层克隆
2010-05-05 21:02 3670最近在看《effective java ... -
类与类之间的几种关系
2010-05-03 13:49 2419类和类、类和接口、接 ... -
运行java
2010-05-03 13:47 1054用javac命令编译一个打包的类时,如果没有加参数" ... -
Java内存模型与volatile
2010-04-25 13:21 18800内存模型描述的是程序 ... -
中断线程
2010-04-24 21:19 8998中断线程 线程的thread.i ... -
java中的关键字、保留字、标示符
2010-04-07 23:48 3377关键字 Java的关键字对java的编译器有特殊的意义, ... -
Java中的浮点数剖析
2010-04-07 23:27 4724定点数表达法的缺点在于其形式过于僵硬,固定的小数点位置决定了固 ... -
线程间的同步与互斥
2010-03-23 21:29 2305线程间的同步(实指线程间的通信):一般来说,一个线程相对于另 ... -
UTF-16、UTF-16BE、UTF-16LE编码方式的区别
2010-03-23 21:20 9824import java.io.IOException; ... -
final、finally、finalize
2010-01-22 01:15 2430final关键字 先看看final关键字,它可以被用于以下几个 ...
相关推荐
Apache Commons Logging和Log4j是两个广泛使用的日志框架,本指南将深入讲解如何将它们结合使用,为你的Java应用程序提供强大的日志功能。 首先,让我们了解Apache Commons Logging。它是Apache软件基金会的一个...
`commons-logging`会自动检测并选择可用的日志实现,优先级通常是:已配置的`commons-logging.properties`、系统环境变量`org.apache.commons.logging.Log`、`log4j`库、JDK内置日志、最后是`commons-logging`自带的...
Apache Log4j 2.3 和 Commons Logging 1.2 是两个在Java Web开发中广泛使用的日志处理库。这两个库对于记录应用程序的运行时信息、调试错误和监控系统状态至关重要。 **Apache Log4j 2.3** Log4j 是 Apache 组织...
标题中的“日志框架学习之一:commons-logging+log4j”揭示了本文将探讨的是在Java开发中常用的两个日志处理工具——Apache Commons Logging和Log4j。这两个框架是日志记录的基础,广泛应用于各种Java应用程序,为...
在实际应用中,如果你的项目引用了Commons Logging,那么你可以通过配置来选择使用Log4j作为底层的日志处理工具。这样做的好处在于,即使你想更换日志系统,只需更改配置,而无需修改代码,这提高了项目的可维护性...
**commons-logging.jar** 是Apache Commons项目的一部分,它提供了一个抽象层,允许应用程序使用多种不同的日志框架,如log4j、Java内置的日志API(java.util.logging)、或者其他的日志实现。这个库的核心理念是...
* org.apache.commons.logging.impl.Log4JLogger 使用 Log4J * org.apache.commons.logging.impl.LogKitLogger 使用 avalon-Logkit * org.apache.commons.logging.impl.SimpleLog common-logging 自带日志实现类 ...
在某些情况下,可能需要通过系统属性(如 `-Dlogkit.logger.org.apache=org.apache.log4j.Logger`)或配置文件来指定特定的日志实现。此外,如果你的项目已经使用了其他日志框架,比如Log4j,那么Commons Logging会...
- Commons Logging是一个轻量级的日志记录API,允许开发者在不修改代码的情况下切换不同的日志实现,如Log4j、Java Util Logging或SLF4J。 - 版本 1.2 是一个稳定版本,虽然较旧但广泛兼容,为各种Java项目提供...
Apache Commons Logging 提供了一个API,开发人员可以使用这个API编写日志语句,然后在运行时通过配置来决定实际的日志实现,如Log4j、java.util.logging(也称为JUL)或简单的控制台日志。 标题中的"apache-...
用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging, common-logging会通过动态查找的机制,在程序运行时自动找出真正使用的日志库。当然,common-logging内部有一个Simple logger的...
2. 配置日志实现,可以通过设置`java.util.logging.config.file`、`log4j.configuration`等系统属性,或者在类路径下放置适当的配置文件(如log4j.properties)。 3. 在代码中获取并使用Logger,如`Logger logger = ...
Apache Commons Logging,简称为Commons Logging,是Apache软件基金会开发的一个开源日志框架,主要用于提供一个统一的日志API,让开发者能够在不改变代码的情况下,自由切换不同的日志实现库,如Log4j、Java内置的...
这个库允许开发者选择底层的日志实现,如Log4j、Java内置的日志API(java.util.logging)或者其他第三方日志系统,而无需修改代码。它的核心概念是提供一种抽象,使得应用代码与特定的日志实现解耦,从而增强了灵活...
"commons-logging.jar" 和 "log4j.jar" 是两个广泛使用的Java日志框架,它们在Java应用开发中扮演着至关重要的角色。 **commons-logging.jar** 是Apache Commons Logging库,它提供了一个统一的日志接口,允许...
这可以通过设置系统属性`org.apache.commons.logging.Log`为`org.apache.log4j.Logger`来实现。 总的来说,Log4j和Commons Logging是Java开发中的重要工具,它们为日志记录提供了便利和灵活性。理解它们的工作原理...
这个库的主要目标是为Java应用程序提供一个简单且统一的日志接口,使得开发者可以在不修改代码的情况下,方便地切换到不同的日志实现,如Log4j、Java内置的日志(java.util.logging)或者其它第三方日志框架。...
在Hibernate中,`commons-logging`被用作日志服务的接口,使得Hibernate能够适配多种日志系统,如Log4j、Java内置的日志框架java.util.logging,或者简单的控制台输出。这种灵活性让开发者可以根据项目需求选择最...