log4j配置文件及java调用 每个级别输出到不同的文件
#配置根Logger
log4j.rootLogger = DEBUG , RollingFile,CONSOLE #文件大小达到一定尺寸的时候创建一个新的文件
log4j.appender.RollingFile=org.apache.log4j.RollingFileAppender
#指定消息的最低层次
log4j.appender.RollingFile.Threshold=DEBUG
#消息立即输出 默认为true
log4j.appender.RollingFile.ImmediateFlush=true
#指定消息输出到mylog.txt文件。
log4j.appender.RollingFile.File=/sdzw/ibp/log/project/RollingLog.log
#将消息增加到指定文件中 默认值是true false指将消息覆盖指定的文件内容
log4j.appender.RollingFile.Append=true
#后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件
log4j.appender.RollingFile.MaxFileSize=50MB
#指定可以产生的滚动文件的最大数
log4j.appender.RollingFile.MaxBackupIndex=10
log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l] [%x] --> %n %m %n #控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=DEBUG
log4j.appender.CONSOLE.ImmediateFlush=true
#指定输出控制台 默认System.out
log4j.appender.CONSOLE.Target=System.err
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l] [%x] --> %n %m %n #每天产生一个日志文件
log4j.logger.aaa= info,DailyRollingFile
#是否集成到rootLogger输出
log4j.additivity.aaa=false log4j.appender.DailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DailyRollingFile.Threshold=DEBUG
log4j.appender.DailyRollingFile.ImmediateFlush=true
log4j.appender.DailyRollingFile.File=/sdzw/ibp/log/project/DailyLog.log
log4j.appender.DailyRollingFile.Append=true
#指定文件滚动频率 '.'yyyy-MM: 每月 '.'yyyy-ww: 每周 '.'yyyy-MM-dd: 每天 '.'yyyy-MM-dd-a: 每天的午夜和正午更新一个log日志 '.'yyyy-MM-dd-HH: 每小时 '.'yyyy-MM-dd-HH-mm: 每分钟
log4j.appender.DailyRollingFile.DatePattern='.'yyyy-ww
log4j.appender.DailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.DailyRollingFile.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l] [%x] --> %n %m %n #配置日志信息的格式
#org.apache.log4j.HTMLLayout(以HTML表格形式布局)
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息) #HTMLLayout 选项
#log4j.appender.****.layout=org.apache.log4j.HTMLLayout
#默认值是false,输出java文件名称和行号
#og4j.appender.****.layout.LocationInfo=true
#默认值是 Log4J Log Messages
#og4j.appender.****.layout.Title=my app file #SimpleLayout
# log4j.appender.logfile.layout = org.apache.log4j.SimpleLayout #XMLLayout 选项
#log4j.appender.****.layout=org.apache.log4j.XMLLayout
#默认值是false,输出java文件名称和行号
#og4j.appender.****.layout.LocationInfo=true #文件
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.Threshold=DEBUG
log4j.appender.FILE.ImmediateFlush=true
log4j.appender.FILE.File=/sdzw/ibp/log/project/FileLog.log
log4j.appender.FILE.Append=true
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l] [%x] --> %n %m %n #邮件
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=DEBUG
log4j.appender.MAIL.BufferSize=10
log4j.appender.MAIL.From=yourmail@gmail.com
log4j.appender.MAIL.SMTPHost=smtp.gmail.com
log4j.appender.MAIL.Subject=Log4J Message
log4j.appender.MAIL.To=yourmail@gmail.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l] [%x] --> %n %m %n #数据库
#数据库的链接会有问题,可以重写org.apache.log4j.jdbc.JDBCAppender的getConnection() 使用数据库链接池去得链接,可以避免insert一条就链接一次数据库
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j.appender.DATABASE.user=root
log4j.appender.DATABASE.password=
log4j.appender.DATABASE.sql=INSERT INTO SS_LOG4J_LOG (PRIORITY,LOGDATE,CLASS,METHOD,MSG) VALUES('%p','%d{yyyy-MM-dd HH:mm:ss}','%C','%M','%m')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l] [%x] --> %n %m %n #socket
log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender
log4j.appender.SOCKET.RemoteHost=localhost
log4j.appender.SOCKET.Port=5001
log4j.appender.SOCKET.LocationInfo=true
log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout
log4j.appender.SOCET.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l] [%x] --> %n %m %n
调用:
public class TestLog { Logger logger = Logger.getLogger(TestLog.class);
Logger logger2 = Logger.getLogger("aaa");
private void test1() {
logger.debug("debug---");
logger.info("info---");
logger.error("warn---"); logger2.debug("debug2---");
logger2.info("info2---");
logger2.error("warn2---");
} public static void main(String[] args) {
TestLog testLog = new TestLog();
testLog.test1(); } }
RollingLog.log文件:
[2017-06-28 15:18:22-731] [DEBUG] [ 0 ] [st.TestLog] [com.test.TestLog.test1(TestLog.java:10)] [] -->
debug---
[2017-06-28 15:18:22-735] [INFO ] [ 4 ] [st.TestLog] [com.test.TestLog.test1(TestLog.java:11)] [] -->
info---
[2017-06-28 15:18:22-736] [ERROR] [ 5 ] [st.TestLog] [com.test.TestLog.test1(TestLog.java:12)] [] -->
warn--- DailyLog.log 文件:
[2017-06-28 15:06:23-191] [INFO ] [ 12 ] [aaa ] [com.test.TestLog.test1(TestLog.java:15)] [] -->
info2---
[2017-06-28 15:06:23-192] [ERROR] [ 13 ] [aaa ] [com.test.TestLog.test1(TestLog.java:16)] [] -->
warn2---
log4j配置文件及java调用 每个级别输出到不同的文件的更多相关文章
- log4j配置文件及java调用 每个级别输出到不同的文件2
log4j.rootLogger=debug,stdout,info,debug,error log4j.appender.stdout=org.apache.log4j.ConsoleAppende ...
- Log4j按级别输出日志到不同文件配置
1.自定义LogFileAppender类,继承DailyRollingFileAppender,实现Log4j按级别输出日志到不同文件. package com.liying.mango.commo ...
- Log4j按级别输出日志到不同文件配置分析 (转:projava)
关于LOG4J 按照级别输出日志,并按照级别输出到不同文件中的说法有很多, 网上贴的最多的log4j.properties的设置是这样的 log4j.rootLogger=info,stdout,in ...
- Log4j按级别输出日志到不同文件配置分析
关于LOG4J 按照级别输出日志,并按照级别输出到不同文件中的说法有很多, 网上贴的最多的log4j.properties的设置是这样的 log4j.rootLogger=info,stdout,in ...
- JAVA 调用命令并输出
public class test10 { /** * @param args */ public static void main(String[] args) throws Exception { ...
- 使用log4j将不同级别的日志信息输出到不同的文件中
使用log4j.xml xml格式的配置文件可以使用filter. 例如想只把log4j的debug信息输出到debug.log.error信息输出到error.log,info信息输出到info.l ...
- java调用svnkit工具类上传本地文件到svn服务器
package org.jenkinsci.plugins.svn.upload.step; import java.io.*; import org.tmatesoft.svn.core.SVNCo ...
- Java调用明华RF读写器DLL文件的方法
首先jdk必须得是32位的,IDE也必须是32位的(我用的idea,所以为了使用32位的,下载了2018年1月版本的). 明华RF读写器演示文件提供了一份名为mwrf32.dll的动态链接库文件 ja ...
- java调用7zip解压压缩包
前言 最近的项目中需要用到解压缩包的功能,客户给出的压缩包的格式主要是rar和zip,因此就打算使用java调用7zip的命令行进行解压文件,本文主要记录一下实现的过程以及其中遇到的问题. 7zip命 ...
随机推荐
- 【OpenCV】基于图像处理和模式识别的火灾检测方法
学期末一直忙考试,大作业,很久没来CSDN耕耘了... 虽然考试都结束了,手头还是累积了不少活儿要补,不多写了,晒个小项目,之前一直做的,后来当做模式识别课程的大作业交了. 大体框架如下: 还是之前的 ...
- 生产者与消费者---demo2---boke
假设有这样一种情况,有一个桌子,桌子上面有一个盘子,盘子里只能放一颗鸡蛋,A专门往盘子里放鸡蛋,如果盘子里有鸡蛋,则一直等到盘子里没鸡蛋,B专门从盘子里拿鸡蛋,如果盘子里没鸡蛋,则等待直到盘子里有鸡蛋 ...
- java 多线程系列基础篇(五)之线程等待与唤醒
1.wait(), notify(), notifyAll()等方法介绍 在Object.java中,定义了wait(), notify()和notifyAll()等接口.wait()的作用是让当前线 ...
- NSOperation/NSOperationQueue详细使用介绍
一.简介 (1)是使用GCD实现的一套Objective-C的API (2)是面向对象的线程技术 (3)提供了一些在GCD中不容易实现的特性,如:限制最大并发数量.操作之间的依赖关系 NSOp ...
- PCL—关键点检测(rangeImage)低层次点云处理
博客转载自:http://www.cnblogs.com/ironstark/p/5046479.html 关键点又称为感兴趣的点,是低层次视觉通往高层次视觉的捷径,抑或是高层次感知对低层次处理手段的 ...
- PCL—点云分割(邻近信息) 低层次点云处理
博客转载自:http://www.cnblogs.com/ironstark/p/5000147.html 分割给人最直观的影响大概就是邻居和我不一样.比如某条界线这边是中华文明,界线那边是西方文,最 ...
- 1054D&EZOJ #93 Changing Array
传送门 分析 我们可以对一个数列求前缀和,如果pre[l]=pre[r]则我们可以知道区间[l,r]一定不合法 于是我们就要让不合法的区间尽量少 我们知道对于一个数$x$,他只受x和$(2^k-1)$ ...
- Luogu 3466 [POI2008]KLO-Building blocks
BZOJ 1112. 题意相当于在一个长度为$k$的区间内选择一个数$s$使$\sum_{i = 1}^{k}\left | a_i - s \right |$最小. 很显然是中位数. 然后只要写一个 ...
- c/c++头文件中#ifndef/#define/#endif的用法
想必很多人都看过“头文件中用到的 #ifndef/#define/#endif 来防止该头文件被重复引用”.但是是否能理解“被重复引用”是什么意思?头文件被重复引用了,会产生什么后果?是不是所有的头文 ...
- 缓存淘汰算法之LRU
1. LRU1.1. 原理 LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”. ...