log4j写数据库,通常只能写入log4j提供的信息,如果用来记录用户ID号,操作等的记录,则无法实现. 这里,我在log4j里加了一个字段userID (当然你可以再加几个)用来记录用户ID,操作 1.log4j配置文件 #向控制台和数据库输出 log4j.rootlogger=DEBUG,stdout,JDBC log4j.addivity.org.apache=true log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appen...
by sinkingboat - Java文档中心 - 2015-05-18 14:58:09 阅读(4145) 回复(2)
编写自定义appender 的 步骤 1. 扩展 AppenderSkeleton 抽象类。如果是通过流方式实现读写数据的话,自定一定appender可以从WriterAppender继承,这样只需要把我们自己的OutputStream连接到WriterAppender.qw上就可以了。更方便快捷。 2. 指定您的 appender 是否需要 layout。这个由requiresLayout()方法确定。 3. 如果某些属性必须同时激活,则应该在 acti...
在项目中的src 中新建立一个log4j.properties文件即可; 在实际编程时,要使log4j真正在系统中运行事先还要对配置文件进行定义(只需要定义即可,放在src下面,运行时会自动产生日志)。定义步骤就是对logger、Appender及Layout的分别使用。log4j支持两种配置文件格式,一种是XML格式的文件,一种是java properties(key=value)【Java特性文件(键=值)】。(这里只说明properties文件) 1、配置根logger 其语法为:...
import java.io.IOException; import java.io.InputStream; import java.util.Properties; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.logManager; import org.apache.log4j.logger; import org.apache.log4j.PropertyConfigurator; /** * logs messages into File and DB. * * Debug public class loggerManager { public static final Str...
在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-log4j。 log4j是Apache的一个开放源代码项目,通过使用log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程...
用log4j来写日志文件。 由于在日志当中可能会有一些敏感信息(用户名..),因此我们想把这些敏感的信息隐藏了. -自定义一个方法把字符串加密或者重新编码,需要重新检查写日志的地方,调用方法把敏感的信息隐藏了。 -自定义一个appender,加密所有的日志信息,好像这样的话所有的日志信息都被加密了,就失去了log的排错的意义了。 不知道大家有隐藏日志中敏感信息这方面的经验呢,或者其它的建议呢? 谢谢!!!
一直都在想如何用log4j将message写到数据库中,在以后查看的时候会方便些。(数据库都是使用MSSQL) 在网上搜了下, 有两种方法比较合适。 1.插入数据库中的表的字段有多个(不包括自动增长列),这种情况适合在浏览时要对某个字段进行排序等其他需求。 配置文件主要部分如下: appender name="access_log_JDBC" class="org.apache.log4j.jdbc.JDBCAppender"> param name="Driver" value="com.microsoft.jdbc.sqlserver.SQLServerDr...
1.介绍 log4j是Apache的一个开放源代码项目,通过使用log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。 log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有...
在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-log4j。 log4j是Apache的一个开放源代码项目,通过使用log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人...
if (log.isDebugEnabled()) { ...... log.debug(XXX); } 如上所示,开发时,突然被要求先判断log的级别后再进行log输出,说是为了效率。有点纳闷:log4j不是可以自动判断log的级别并进行相应的输出么?为何还要在在自己的代码里进行判断呢? 网上搜了下,恍然大悟,请看以下示例: StringBuffer strBuf = new StringBuilder(); strBuf.append("name : "); strBuf.append(userObj.getName()); ...... log.debug(strBuf.toS...
2006-09-12 log4j配置详解 --eako的专栏 log4j详解 根据网络资料整理 [color="#0000ff"]>>>>1. 概述log4j简介 在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-log4j。 log4j是Apache的一个开放源代码项目,通过使用log4j, 我们可以控制日志信息输送的目的地是控制台、文件、GUI组...