1.关系型数据库(postgresql)
1.1 log4j配置文件
#可以设置级别:debug>info>error
#debug:显示debug、info、error
#info:显示info、error
#error:只error
log4j.rootLogger=debug,info,database
#注意的地方database 对应 log4j.appender.database.URL的database 若认log4j.rootLogger=debug,info,db 那么 log4j.appender.database.URL的database 要改成db
#log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.logfile.DatePattern=.yyyy-MM-dd
#log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
#输出到控制台
#log4j.appender.appender1=org.apache.log4j.ConsoleAppender
#样式为TTCCLayout
#log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
#设置级别:
#log4j.rootLogger=debug,appender1
#输出到文件(这里默认为追加方式)
#log4j.appender.appender1=org.apache.log4j.FileAppender
#设置文件输出路径
#【1】文本文件
#log4j.appender.appender1.File=c:/Log4JDemo02.log
#【2】HTML文件
log4j.appender.appender1.File=c:/Log4JDemo02.html
#设置文件输出样式
#log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p [%c] - - <%m>%n
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.DatePattern=.yyyy-MM-dd
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] wang- <%m>%n
#log4j.appender.db=com.neam.commons.MyJDBCAppender
#下面是配置将日志信息插入数据库,
#配置输出目标为数据库(假如要将日志在控制台输出,配置为log4j.appender. stdout =org.apache.log4j.ConsoleAppender;将日志写入文件,配置为log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
#这样的配置在许多地方都要有,需要可查有关资料),当然你也可以自己扩展org.apache.log4j.jdbc.JDBCAppender这个类,只需要在这里配置就可以了例如我们配置我自己扩展的MyJDBCAppender,配置为#log4j.appender.db=com.neam.commons.MyJDBCAppender
log4j.appender.database.Threshold=info
#定义什么级别的错误将写入到数据库中
log4j.appender.database.BufferSize=1
#设置缓存大小,就是当有1条日志信息是才忘数据库插一次
log4j.appender.database=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.database.driver=org.postgresql.Driver
#设置要将日志插入到数据库的驱动
log4j.appender.database.URL=jdbc:postgresql://localhost:5433/log
log4j.appender.database.user=postgres
log4j.appender.database.password=1234
log4j.appender.database.sql=insert into wdzlog (class,method,createTime,logLevel,msg) values ('%C','%M','%d{yyyy-MM-dd HH:mm:ss}','%p','%m')
log4j.appender.database.layout=org.apache.log4j.PatternLayout
1.3 创建数据库
CREATE TABLE wdzlog (
class varchar (255) NULL ,--类名
method varchar (255) NULL ,--方法名
createTime varchar (255) NULL ,--产生时间
logLevel varchar (20) NULL ,--日志级别
msg varchar (555) NULL --日志信息
)
1.4 正常日志就可以插入到数据库中
2. nosql 数据库(mongodb)
2.1.首先下载并安装mongoDB,并运行 ,下载安装请参考我的上篇博文
版本要求(MongoDB Server v2.0+ (tested with 2.2.2))
2.2 下载Mongo Java driver jar包
2.3.下载 Log4J jar包 注意版本,一定要1.2.16及以上。
2.4.下载 log4mongo-java jar包
2.5.请将这三个jar文件放置在你的项目classpath中。
2.6.在你的classpath中创建一个名为log4j.properties的文件
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=DEBUG, CONSOLE, R, MongoDB
#log4j.rootCategory=FILE,R
# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=DEBUG
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %d [%t] %C.%M(%L) |%m%n
# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.logger.com.eightspace.baccy=INHERIT,R
log4j.additivity.com.eightspace.hd=false
log4j.appender.R.File= /var/log/mbp_server/
log4j.appender.R.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.R.Append=true
log4j.appender.R.Threshold=ERROR
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-4r %d [%t] %-5p %c %x - %m%n
log4j.appender.MongoDB=org.log4mongo.MongoDbAppender
log4j.appender.MongoDB.databaseName=appname
log4j.appender.MongoDB.collectionName=log
log4j.appender.MongoDB.hostname=192.168.1.4
log4j.appender.MongoDB.port=27017
参考资料:http://demojava.iteye.com/blog/1067627
http://my.oschina.net/chinaearl/blog/111552