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是Java平台上的一个著名日志记录框架,广泛应用于各种Java应用程序中,包括服务器、Web应用、企业级软件等。Log4j 1.2.16是该框架的一个版本,提供了丰富的日志功能,允许开发者灵活地控制日志信息的...
配置Log4j通常通过一个XML或JSON格式的配置文件完成,例如`log4j2.xml`或`log4j2.json`,这个文件定义了日志的输出级别、目的地(如控制台、文件、数据库等)以及格式。 总的来说,Log4j 2是Java开发中不可或缺的...
Log4j的配置文件通常以.properties或.xml格式存在,如“lo4j配置文件”所示。这些文件主要包含以下几个部分: 1. 日志等级设置:定义了日志的最低输出级别,如DEBUG、INFO、WARN、ERROR和FATAL。 2. 输出目的地...
Java Lo4j(Log4j)是Apache软件基金会的一个开源项目,主要为Java应用程序提供灵活且强大的日志记录功能。Lo4j代表“Logging for Java”,它是一个用于控制日志输出的强大工具,允许开发者自由选择日志记录的级别、...
- 在使用Log4j时,通常会有一个配置文件(如 `log4j.properties` 或 `log4j.xml`),用于定义日志输出的行为。配置文件中包含根日志器的级别、输出目的地(如控制台或文件)以及日志格式。例如,`log4j.rootLogger`...
- 配置文件通常是"log4j.properties"或"log4j.xml",用于定义日志行为。 - 如`log4j.rootLogger=DEBUG, FILE`表示设置根logger级别为DEBUG,并将日志输出到名为FILE的appender。 - `log4j.appender.FILE=org....
Log4j的配置通常通过一个名为log4j.properties或log4j.xml的配置文件进行。这个文件定义了日志器的级别、Appender和Layout的设置。例如,你可以指定将DEBUG级别的日志输出到控制台,而将ERROR和以上级别的日志写入到...
在Java应用启动时,Log4j会自动查找`log4j.properties`或`log4j.xml`文件进行配置。如果需要指定其他位置,可以通过`-Dlog4j.configuration`系统属性来指定。 总结,理解并灵活配置Log4j,可以帮助我们优化日志记录...
学习这个资源包,可以理解Spring、SpringMVC和Mybatis的基本概念,掌握它们的整合方式,以及如何利用Log4j进行日志记录,为构建Java Web应用打下坚实的基础。此外,实践这些示例代码将有助于加深对框架功能的理解,...
NULL 博文链接:https://elfasd.iteye.com/blog/1770847
例如,一个Java应用可能使用`log4j`记录用户登录、操作日志,同时利用`dom4j`解析XML配置文件以动态配置应用的行为。 在提供的压缩包中,`lo4j_jar包`包含了`log4j`的库文件,开发者可以直接引入到项目中使用。而`...
这个压缩包文件“lo4j2”可能包含了配置文件“log4j2.xml”,它是Log4j2的核心配置,用于定义日志输出的方式、级别、格式等关键设置。下面我们将深入探讨Log4j2及其配置文件中的相关知识点。 1. **Log4j2概述**:...
综上所述,"Lo4jTest"项目展示了如何使用Log4j进行日志记录,包括配置、日志级别设定、Appender选择和日志输出格式。通过学习这个示例,开发者可以更好地理解和利用Log4j来增强其软件的可维护性和可靠性。
lo4net dll 配置文档 <?xml version="1.0" encoding="utf-8" ?> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.0" /> <log4net> ...
日志4p 像 log4j2 这样的 Python 日志 使用应用程序根目录中的配置文件 [log4p.py]。 应用示例: from log4p import log TestLog =...配置示例:“log4j2.xml ” config ={ 'monitorInterval' : 10, 'loggers' :{ 'Lo
1. **快速集成日志框架**:"lo4ge"插件允许开发者轻松集成常见的日志框架,如Log4j、Logback和java.util.logging,无需手动配置大量的XML或代码。 2. **代码生成**:该插件能够自动生成日志相关的代码,例如`logger...
SLF4J(Simple Logging Facade for Java)是一个用于各种日志框架的抽象层,如 Logback、Log4j 等,它提供了一种在部署时插入所需日志实现的方式。SLF4J 提供了一套简单的 API,使得开发者能够在不修改代码的情况下...
- **日志系统**:LOG4J2是Apache的一个高性能、灵活的日志框架,比老版本LOG4J具有更好的性能和更多的功能。 - **配置灵活性**:使用JSON或XML配置,提供动态日志级别调整,支持异步日志记录,提高应用性能。 - *...