在log4j中可以指定特定的输出源append。在数据库记录日志时,可以将日志文件记录到多个数据库表中。
# This is the configuring for logging displayed in the Application Server
log4j.rootCategory=DEBUG,logfile,stdout
log4j.logger.SYSTEM = INFO,JDBC
log4j.logger.OPERATION = INFO,JDBC2
#stdout configure
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= %d %p [%c] - <%m>%n
#logfile configure
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=../logs/moca_stm_stm.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern= %d{yyyy MM dd HH:mm:ss} %p [%c] - <%m>%n
#JDBC configure
log4j.appender.JDBC.Threshold=INFO
log4j.appender.JDBC=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.JDBC.driver=oracle.jdbc.driver.OracleDriver
log4j.appender.JDBC.URL=jdbc:oracle:thin:@192.168.140.13:1521:DMPT
log4j.appender.JDBC.user=moca_stm
log4j.appender.JDBC.password=moca_stm
log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout
log4j.appender.JDBC.sql=INSERT INTO XK_SYS_LOG(USERID,LOGTIME,LOGLEVEL,LOCATION,MESSAGE)VALUES('%X{userId}','%d{yyyy-MM-dd HH:mm:ss}','%p','%l','%m')
log4j.appender.JDBC2.Threshold=INFO
log4j.appender.JDBC2=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.JDBC2.driver=oracle.jdbc.driver.OracleDriver
log4j.appender.JDBC2.URL=jdbc:oracle:thin:@192.168.140.13:1521:DMPT
log4j.appender.JDBC2.user=moca_stm
log4j.appender.JDBC2.password=moca_stm
log4j.appender.JDBC2.layout=org.apache.log4j.PatternLayout
log4j.appender.JDBC2.sql=INSERT INTO XK_SYS_LOG_2(USERID,LOGTIME,LOGLEVEL,LOCATION,MESSAGE)VALUES('%X{userId}','%d{yyyy-MM-dd HH:mm:ss}','%p','%l','%m')
测试类
package test;
import org.apache.log4j.Logger;
import org.apache.log4j.MDC;
public class LogTest {
private static Logger logger = Logger.getLogger("OPERATION");
//private static Logger logger = Logger.getLogger("SYSTEM");
//private static Logger logger = Logger.getLogger(LogTest.class);
public static void main(String[] args) {
MDC.put("userId", "用户ID");
logger.error("testError");
}
}
分享到:
相关推荐
Log4j比较全面的配置 log4j.rootLogger=DEBUG,CONSOLE,A1,im log4j.addivity.org.apache=true # 应用于控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=DEBUG log4j....
log4j.appender.testfile.Append=false log4j.appender.testfile.layout=org.apache.log4j.HTMLLayout log4j.appender.testfile.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n ####...
### set log levels ###log4j.rootLogger = debug , stdout , D , E### 输出到控制台 ###log4j.appender.stdout =org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target =System.outlog4j.appender.stdout....
log4j.appender.llg.Append=true #文件最大的物理大小 #配置日志文件的最大物理容量 log4j.appender.llg.MaxFileSize=1024KB #没明白 log4j.appender.llg.MaxBackupIndex=1 #信息输出格式的类 log4j.appender.llg....
log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将信息划分优先级使其可以面向程序...
主要给大家介绍了关于Python中循环后使用list.append()数据被覆盖问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
sb.append("function goPage(cpage){").append("window.location='").append(action); sb.append("?currentPageNum='+").append("cpage"); sb.append("+'&onePageMaxNum='+").append("getMaxNum()"); sb.append...
Append原理Append原理Append原理
INSERT /*append */ INTO TABLE1 AS SELECT * FROM TABLE2;
cra-append-sw 将自定义代码附加到由ServiceWorker的实用工具。 它允许保留默认的CRA配置(不弹出)。 它只是将自定义代码附加到CRA构建脚本创建的ServiceWorker文件中。 默认情况下,它使用非常基本的Webpack + ...
注意,一个字段的字段名、字段类型、字段宽度及小数位数四个参数中,每次只能修改其中一个参数,否则可能产生数据丢失;另外,修改类型时,也可能丢失数据。 二、数据库记录的修改 当数据输入数据库中,需要经常对...
通过plsql生成拼接字符串; 替换PLSQL Developer 8.0.3.1510\SpecialCopy\中的Java.copy文件
sys.path.append(pwd+"../") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings") import django django.setup() from apps.city.models import CityCategory from db.data.city_data ...
Append.c源文件
参数通过IP地址转换获得,胡方式为(c#) public static long ipToLong(String strIP) { long[] ip = new long[4]; string[] s = strIP.Split('.'); ip[0] = long.Parse(s[0]); ip[1] = long.Parse(s[1]); ip[2...
前端开源库-vue-appendvue append,vue append,类似v-html指令,但它可以调用javascript函数
文件就是一个python文件,里面有append()函数在for循环中使用出现覆盖的错误,并予以解决,配合本人博文内容《Python append()函数在for循环中的覆盖问题》观看更好
可以将单个的MDB数据库,进行追加,最后所有的都追加到第一个数据库当中.具体可参考:http://blog.csdn.net/wl05031/article/details/18617073
1, 参数设置,以命令行参数的方式设置标志参数来控制日志记录行为; 2, 严重性分级,根据日志严重性分级记录日志; 3, 可有条件地记录日志信息; 4, 条件中止程序。丰富的条件判定宏,可预设程序终止条件; 5, ...
并将参数附加到新的Function参数....而不是在他们之前安装npm i -S bind-append用var bindAppend = require ( 'bind-append' ) ;function linear ( x , a , b ) { return a + b * x ;}var fn = bindAppend ( linear ...