生成文件到默认位置:

#生成日志文件
#log4j.appender.systemFile=org.apache.log4j.RollingFileAppender
#按天生成
log4j.appender.systemFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.systemFile.layout=org.apache.log4j.PatternLayout
#将旧的文件重新命名为年月日结尾
log4j.appender.systemFile.DatePattern = '.'yyyy-MM-dd
#log4j.appender.systemFile.layout.ConversionPattern=%l : %m %n
log4j.appender.systemFile.layout.ConversionPattern=[%5p] %d{dd-MM-yy HH:mm:ss} : %F %L : %m %n
log4j.appender.systemFile.File=D\:/gaeaback/logs/gaeaback.log

生成日志到数据库:首先你需要穿件对应的数据库表,这样你配置中的sql语句才可能会有效执行。

log4j.rootLogger=INFO,stdout

log4j.logger.org.springframework.web.servlet=INFO,logfile

log4j.logger.org.springframework.beans.factory.xml=INFO,logfile
log4j.logger.com.bing.controler=INFO,db log4j.appender.stdout=org.apache.log4j.ConsoleAppender
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.File=${webapp.root}/WEB-INF/logs/exppower.log
#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
######################## # JDBC Appender ####################### #log4j.logger.business=INFO,db
#log4j.appender.db=com.neam.commons.MyJDBCAppender
log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender log4j.appender.db.BufferSize=1 log4j.appender.db.sqlname=log #log4j.appender.db.driver=net.sourceforge.jtds.jdbc.Driver
log4j.appender.db.driver=oracle.jdbc.driver.OracleDriver #log4j.appender.db.URL=jdbc:jtds:SqlServer://localhost:1433;DatabaseName=pubs
log4j.appender.db.URL=jdbc:oracle:thin:@127.0.0.1:1521:orcl log4j.appender.db.user=uername log4j.appender.db.password=password log4j.appender.db.sql=insert into T_LOG (FID,LogName,UserName,Class,Mothod,createTime,LogLevel,MSG,DATESTAMP) values(sys_guid(),'%X{userId}','%X{userName}','%C','%M','%d{yyyy/MM/dd HH:mm:ss}','%p','%m',sysdate) log4j.appender.db.layout=org.apache.log4j.PatternLayout

上面的配置中'%X{userId}','%X{userName}'这两个变量是用户加进去的。在org.apache.log4j.MDC这个类中有个静态的普通方法,用法如下

 MDC.put("userId",customer.getUserName());
MDC.put("userName",customer.getUserId());

当调用put方法是后,MDC中存在一个静态变量以键值对的形式来存储加入的值。执行过这个方法后,就能在配置文件中读取到

log4j自动生成日志文件配置的更多相关文章

  1. Flask log配置,实现按照日期自动生成日志文件

    Flask自带了logger模块,用来方便程序员群众记录日志,这里粘贴出来的是一段代码,用来初始化日志各项配置参数,并根据日期自动生成日志文件. #log配置,实现日志自动按日期生成日志文件def m ...

  2. springboot添加log4j日志配置log4j.xml生成日志文件

    第一步:添加pom文件依赖 <!-- log4j --> <dependency> <groupId>org.springframework.boot</gr ...

  3. log4j不生成日志文件的问题

    直接看我的注解吧 注意地址的斜杠,还有地址别写什么相对地址了,这包太老了,服务器update一下兼容问题就出来了. #第一个参数定义达到什么程度就输出 第二第三....第N 定义输出的类型 #debu ...

  4. log4j每天生成一个文件配置

    log4j.rootLogger=INFO,CONSOLE,logDailyFile log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlo ...

  5. mybatis 自动生成xml文件配置

    http://blog.csdn.net/techbirds_bao/article/details/9233599/

  6. logging日志文件配置

    Django配置如下 简洁版: LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console' ...

  7. SpringBoot日志配置(详解) 涉及控制台输出日志、生成日志文件、日志级别修改、hibernate日志不输出

    写在前面 本篇主要讲述日志配置,看完本篇可以解决下述问题, 控制台输出日志.生成日志文件.日志级别修改.hibernate日志不输出 Git Demo Path:https://github.com/ ...

  8. 【spring boot logback】日志logback 生成日志文件在本项目下,而不在指定的日志文件目录下/指定日志文件到达最大值后不按照配置进行切割

    原本的日志文件配置如下: <?xml version="1.0" encoding="UTF-8"?> <configuration scan ...

  9. NGINX按天生成日志文件的简易配置

    NGINX按天生成日志文件的简易配置 0x01 最近后端童鞋遇到一个小需求,拆分nginx生成的log文件,最好是按天生成,看着她还有很多bug待改的状态,我说这个简单啊,我来吧.曾经搞node后端的 ...

随机推荐

  1. 跟大家分享下今天所学到的PHP,虽然很基础,但是感觉也很重要

    PHP:Hypertext PreProcessor(超文本预处理语言) PHP是一种服务器端语言(server-side language),服务器只发送脚本的输出,通常是HTML,PHP也可以用于 ...

  2. Java获取当前进程的所有线程

    public class MainClass { public static void main(String[] args) { ThreadGroup group = Thread.current ...

  3. myecplise 打开报错 Errors occurred during the build. Errors running builder 'DeploymentBuilder' on project 'myf'. Java.lang.NullPointerException

    Errors occurred during the build. Errors running builder 'DeploymentBuilder' on project 'myf'.Java.l ...

  4. PHP实现遍历、复制、删除目录

    一.遍历 opendir 具体函数我就不解释了,直接看代码理解: <?php header("Content-Type:Text/html;charset=utf8"); $ ...

  5. NSOperation与GCD之间的关系

    NSOperation与GCD的相同之处 1.NSOperation和NSOperationQueue实现多线程的步骤: 先将需要执行的操作封装到一个NSOperation对象中. 然后将NSOper ...

  6. Oracle 经典语法(三)

    1. 让SELECT TO_CHAR(sal,'L99,999.99') FROM emp WHERE  ROWNUM < 5 输出结果的货币单位是¥和$.SELECT TO_CHAR(sal, ...

  7. C++中模板函数或模板类中关键词class和typename

    ##区别 基本上来说,class和typename几乎没有区别.在可以使用class的地方都可以使用typename,在使用typename的地方也几乎可以使用class. 可以看出我加黑了两个子:几 ...

  8. Java程序员必备的 15框开发工具

    15款Java程序员必备的开发工具 如果你是一名Web开发人员,那么用膝盖想也知道你的职业生涯大部分将使用Java而度过.这是一款商业级的编程语言,我们没有办法不接触它. 对于Java,有两种截然不同 ...

  9. ilter()和find()的区别

    这是jQuery里常用的2个方法.他们2者功能是完全不同的,而初学者往往会被误导. 首先 我们看.find()方法:现在有一个页面,里面HTML代码为;程序代码 <div class=" ...

  10. React Native学习-将 'screen', 'window' or a view生成图片

    https://github.com/facebook/react-native/commit/ac12f986899d8520527684438f76299675dc0daa 这是react-nat ...