`
ynztpwl
  • 浏览: 59569 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lo4j 学习记录.. log4j.xml 方式

 
阅读更多
Lo4j 学习记录.. log4j.xml 方式
2011-05-25 16:58

最近正好需要这个东西,就整理下..关键老TM的忘,难道上年纪了..哎..套用好友的QQ签名 祖国未统一 心情很郁闷..蛋疼.

1. log4j.xml 内容 , 注释我想已经很清晰了..

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<!-- ========================== 自定义输出格式说明================================ -->
<!-- %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL -->
<!-- #%r 输出自应用启动到输出该log信息耗费的毫秒数 -->
<!-- #%c 输出所属的类目,通常就是所在类的全名 -->
<!-- #%t 输出产生该日志事件的线程名 -->
<!-- #%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n” -->
<!-- #%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日
22:10:28,921 -->
<!-- #%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10) -->
<!-- ========================================================================== -->

<!-- ========================== 输出方式说明================================ -->
<!-- Log4j提供的appender有以下几种: -->
<!-- org.apache.log4j.ConsoleAppender(控制台), -->
<!-- org.apache.log4j.FileAppender(文件), -->
<!-- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), -->
<!-- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件), -->
<!-- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) -->
<!-- ========================================================================== -->
<log4j:configuration>

<!-- ==========================控制台输出 ========================== -->
<appender name="Console" class="org.apache.log4j.ConsoleAppender">
<!--输出字符集 -->
<param name="Encoding" value="UTF-8" />
<!--输出样式 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss} %p]>>[ %l ]>> %-5m %n" />
</layout>
<!--限制输出级别 -->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="error" />
<param name="LevelMin" value="debug" />
</filter>
</appender>

<!-- ========================== 输出日志到文件 <<追加方式>> ========================== -->
<appender name="FileAppender" class="org.apache.log4j.RollingFileAppender">
<!-- 设置File参数:日志输出文件名 -->
<param name="File" value="${user.dir}/logs/Error.log" />
<!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="Append" value="true" />
<!-- 设置文件大小 -->
<param name="MaxFileSize" value="10MB" />
<!-- 设置文件备份 -->
<param name="MaxBackupIndex" value="10" />
<!--输出字符集 -->
<param name="Encoding" value="UTF-8" />
<!-- 设置输出文件项目和格式 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss} %p]>>[ %l ]>> %-5m %n" />
</layout>
<!--限制输出级别 -->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="error" />
<param name="LevelMin" value="error" />
</filter>
</appender>

<!-- ========================== 输出日志到文件<<每天一个日志>> ========================== -->
<appender name="FileDaily" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${user.dir}/logs/Work.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd'.txt'" />
<!--输出字符集 -->
<param name="Encoding" value="UTF-8" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss} %p]>>[ %l ]>> %-5m %n" />
</layout>
<!--限制输出级别 -->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="error" />
<param name="LevelMin" value="debug" />
</filter>
</appender>

<!-- ==================== 输出日志到数据库<<注意 JDBC驱动 及其数据库用户名密码>>=================== -->
<appender name="Database" class="org.apache.log4j.jdbc.JDBCAppender">
<param name="URL" value="jdbc:oracle:thin:@192.168.1.1:1521:orcl" />
<param name="driver" value="oracle.jdbc.driver.OracleDriver" />
<param name="user" value="wangjj" />
<param name="password" value="dzjj" />
<!--输出字符集 -->
<param name="Encoding" value="UTF-8" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="INSERT INTO LOG4J(LOG_NAME,
LOG_IP,
LOG_DATE,
LOG_LEVEL,
LOG_CLASS,
LOG_MESSAGE,
LOG_DESC)
VALUES ('${user.name}','192.168.1.1',TO_DATE('%d{yyyy-MM-dd HH:mm:ss}','yyyy-mm-dd HH24:MI:SS'),'%p','%c','%m','7') " />
</layout>
</appender>

<!-- ==========================root标签必须放在配置底部 ========================== -->
<root>
<!-- 日志触发登记 必选项-->
<level value="ERROR" />
<!---控制台输出 可选项-->
<appender-ref ref="Console" />
<!---写文件追加方式 可选项-->
<appender-ref ref="FileAppender" />
<!---写文件每天生成方式 可选项-->
<appender-ref ref="FileDaily" />
<!---数据库记录方式 可选项-->
<appender-ref ref="Database" />

</root>
</log4j:configuration>

2. 如果你用到数据库日志记录 ,那么需要创建 LOG4J 表 ,我采用的是 oracle 数据库

-- Create table
createtableLOG4J
(
log_name VARCHAR2(60) notnull,
log_ip VARCHAR2(60) notnull,
log_date DATEnotnull,
log_level VARCHAR2(20) notnull,
log_class VARCHAR2(200) notnull,
log_messageVARCHAR2(2000) notnull,
log_desc VARCHAR2(200)
)
tablespaceHGVS_MAIN
pctfree10
initrans1
maxtrans255
storage
(
initial64
minextents1
maxextentsunlimited
);
-- Add comments to the table
commentontableLOG4J
is'LOG4J 日志表,记录接口运行信息';
-- Add comments to the columns
commentoncolumnLOG4J.log_name
is'日志提交者,';
commentoncolumnLOG4J.log_ip
is'日志提交者IP,方便追踪提交者';
commentoncolumnLOG4J.log_date
is'%d 日志产生时间';
commentoncolumnLOG4J.log_level
is'%p 日志级别 DEBUG,INFO,ERROR等';
commentoncolumnLOG4J.log_class
is'%c 日志所在类';
commentoncolumnLOG4J.log_message
is'%m 日志信息';
commentoncolumnLOG4J.log_desc
is'日志备注';

3. 使用方法 Demo 类 , 蛮简单的..自己看下吧


importorg.apache.commons.logging.Log;
importorg.apache.commons.logging.LogFactory;

publicclassDemo{

staticLoglog=LogFactory.getLog(Demo.class);

publicstaticvoidmain(String[]args) {
newDemo().test();
}

publicvoidtest() {
log.debug("测试....");
log.info("信息...");
log.error("错误.....");
}
}

附截图一张 , 相关文件放置一目了然


分享到:
评论

相关推荐

    apache-log4j-1.2.16.rar_apache log4j 1.2.16_log4j source code_lo

    Apache Log4j是Java平台上的一个著名日志记录框架,广泛应用于各种Java应用程序中,包括服务器、Web应用、企业级软件等。Log4j 1.2.16是该框架的一个版本,提供了丰富的日志功能,允许开发者灵活地控制日志信息的...

    log4j-api-2.12.4.ja和log4j-core-2.12.4.jar

    配置Log4j通常通过一个XML或JSON格式的配置文件完成,例如`log4j2.xml`或`log4j2.json`,这个文件定义了日志的输出级别、目的地(如控制台、文件、数据库等)以及格式。 总的来说,Log4j 2是Java开发中不可或缺的...

    lo4j配置文件.rar

    Log4j的配置文件通常以.properties或.xml格式存在,如“lo4j配置文件”所示。这些文件主要包含以下几个部分: 1. 日志等级设置:定义了日志的最低输出级别,如DEBUG、INFO、WARN、ERROR和FATAL。 2. 输出目的地...

    java Lo4j日志输出

    Java Lo4j(Log4j)是Apache软件基金会的一个开源项目,主要为Java应用程序提供灵活且强大的日志记录功能。Lo4j代表“Logging for Java”,它是一个用于控制日志输出的强大工具,允许开发者自由选择日志记录的级别、...

    lo4j学习笔记

    - 在使用Log4j时,通常会有一个配置文件(如 `log4j.properties` 或 `log4j.xml`),用于定义日志输出的行为。配置文件中包含根日志器的级别、输出目的地(如控制台或文件)以及日志格式。例如,`log4j.rootLogger`...

    lo4j详细讲解及详细文档

    - 配置文件通常是"log4j.properties"或"log4j.xml",用于定义日志行为。 - 如`log4j.rootLogger=DEBUG, FILE`表示设置根logger级别为DEBUG,并将日志输出到名为FILE的appender。 - `log4j.appender.FILE=org....

    Lo4j用法及实例

    Log4j的配置通常通过一个名为log4j.properties或log4j.xml的配置文件进行。这个文件定义了日志器的级别、Appender和Layout的设置。例如,你可以指定将DEBUG级别的日志输出到控制台,而将ERROR和以上级别的日志写入到...

    lo4j配置理解

    在Java应用启动时,Log4j会自动查找`log4j.properties`或`log4j.xml`文件进行配置。如果需要指定其他位置,可以通过`-Dlog4j.configuration`系统属性来指定。 总结,理解并灵活配置Log4j,可以帮助我们优化日志记录...

    SpringMVC精品资源--Spring+Springmvc+Mybatis框架,后续集成日志插件log4j、lo.zip

    学习这个资源包,可以理解Spring、SpringMVC和Mybatis的基本概念,掌握它们的整合方式,以及如何利用Log4j进行日志记录,为构建Java Web应用打下坚实的基础。此外,实践这些示例代码将有助于加深对框架功能的理解,...

    利用log4j显示hibernate打印sql中的参数

    NULL 博文链接:https://elfasd.iteye.com/blog/1770847

    log4j和dom4j插件

    例如,一个Java应用可能使用`log4j`记录用户登录、操作日志,同时利用`dom4j`解析XML配置文件以动态配置应用的行为。 在提供的压缩包中,`lo4j_jar包`包含了`log4j`的库文件,开发者可以直接引入到项目中使用。而`...

    lo4j2数据开发必备帮你规避不必要的线上bug

    这个压缩包文件“lo4j2”可能包含了配置文件“log4j2.xml”,它是Log4j2的核心配置,用于定义日志输出的方式、级别、格式等关键设置。下面我们将深入探讨Log4j2及其配置文件中的相关知识点。 1. **Log4j2概述**:...

    Lo4jTest 完整代码,用于输出日志到log文件

    综上所述,"Lo4jTest"项目展示了如何使用Log4j进行日志记录,包括配置、日志级别设定、Appender选择和日志输出格式。通过学习这个示例,开发者可以更好地理解和利用Log4j来增强其软件的可维护性和可靠性。

    lo4net.dll

    lo4net dll 配置文档 &lt;?xml version="1.0" encoding="utf-8" ?&gt; &lt;section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.0" /&gt; &lt;log4net&gt; ...

    log4p:登录python

    日志4p 像 log4j2 这样的 Python 日志 使用应用程序根目录中的配置文件 [log4p.py]。 应用示例: from log4p import log TestLog =...配置示例:“log4j2.xml ” config ={ 'monitorInterval' : 10, 'loggers' :{ 'Lo

    lo4ge

    1. **快速集成日志框架**:"lo4ge"插件允许开发者轻松集成常见的日志框架,如Log4j、Logback和java.util.logging,无需手动配置大量的XML或代码。 2. **代码生成**:该插件能够自动生成日志相关的代码,例如`logger...

    logback介绍

    SLF4J(Simple Logging Facade for Java)是一个用于各种日志框架的抽象层,如 Logback、Log4j 等,它提供了一种在部署时插入所需日志实现的方式。SLF4J 提供了一套简单的 API,使得开发者能够在不修改代码的情况下...

    前所未有最新版springmvc5.0.8集成框架完整版! 整合LOG4J2、ORACLE、MYSQL等基础组件。配置已简化,且二次开发更简便!!

    - **日志系统**:LOG4J2是Apache的一个高性能、灵活的日志框架,比老版本LOG4J具有更好的性能和更多的功能。 - **配置灵活性**:使用JSON或XML配置,提供动态日志级别调整,支持异步日志记录,提高应用性能。 - *...

Global site tag (gtag.js) - Google Analytics