log4j输出到文件和数据库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

log4j输出到文件和数据库

控制台的实现就不说了,这里提供两种实例的配置,一种是输出为文件的(每天输出一个文件),一种为输出到数据库的配置。

1、输出到文件:

Properties代码

log4j.rootCategory=WARN, CONSOLE, FILE

.surfilter.bt=FATAL,TOFILE

log4j.appender.TOFILE=org.apache.log4j.DailyRollingFileAppender

log4j.appender.TOFILE.Threshold=FATAL

log4j.appender.TOFILE.File=E:/javascpace/bt/logs/union.html

log4j.appender.TOFILE.Append=true

log4j.appender.TOFILE.ImmediateFlush=true

log4j.appender.TOFILE.DatePattern='.'yyyy-MM-dd'.html'

yout=com.surfilter.bt.util.FormatHTMLLayout

log4j.rootCategory=WARN, CONSOLE, FILE

.surfilter.bt=FATAL,TOFILE

log4j.appender.TOFILE=org.apache.log4j.DailyRollingFileAppender

log4j.appender.TOFILE.Threshold=FATAL

log4j.appender.TOFILE.File=E:/javascpace/bt/logs/union.html

log4j.appender.TOFILE.Append=true

log4j.appender.TOFILE.ImmediateFlush=true

log4j.appender.TOFILE.DatePattern='.'yyyy-MM-dd'.html'

yout=com.surfilter.bt.util.FormatHTMLLayout

这里的com.surfilter.bt.util.FormatHTMLLayout是重写了log4j提供的HTMLLayout类,具体代码如下:

Java代码

import java.text.SimpleDateFormat;

import java.util.Map;

import org.apache.log4j.HTMLLayout;

import yout;

import org.apache.log4j.Level;

import org.apache.log4j.helpers.Transform;

import org.apache.log4j.spi.LocationInfo;

import org.apache.log4j.spi.LoggingEvent;

import com.opensymphony.xwork2.ActionContext;

import com.surfilter.core.Constants;

import er;

public class FormatHTMLLayout extends HTMLLayout {

public FormatHTMLLayout() {

}

protected final int BUF_SIZE = 256;

protected final int MAX_CAPACITY = 1024;

static String TRACE_PREFIX = "
    ";

// output buffer appended to when format() is invoked

private StringBuffer sbuf = new StringBuffer(BUF_SIZE);

String title="系统操作日志";

/**

* A string constant used in naming the option for setting the the HTML

* document title. Current value of this string constant is Title.

*/

public static final String TITLE_OPTION = "Title";

// Print no location info by default

boolean locationInfo = true;

public String format(LoggingEvent event) {

if (sbuf.capacity() > MAX_CAPACITY) {

sbuf = new StringBuffer(BUF_SIZE);

} else {

sbuf.setLength(0);

}

sbuf.append(Layout.LINE_SEP + "" + Layout.LINE_SEP);

/* sbuf.append("");

sbuf.append(String.valueOf(i));

sbuf.append("" + Layout.LINE_SEP);

*/

sbuf.append("");

sbuf.append(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new

相关文档
最新文档