zoukankan      html  css  js  c++  java
  • log4j日志

    发邮箱

    private  static Logger logger = LoggerFactory.getLogger(xxxxx.class);  

    logger.error();
    logger.debug();

    logger.info(); 

    # 全局日志级别设定 ,file
    log4j.rootLogger=debug, mail
    log4j.appender.mail=org.apache.log4j.net.SMTPAppender
    log4j.appender.mail.Threshold=DEBUG
    log4j.appender.mail.BufferSize=10
    
    log4j.appender.mail.From=xxx@sina.com 
    
    log4j.appender.mail.SMTPHost=smtp.sina.com
    #发送邮件箱的用户 
    log4j.appender.mail.SMTPUsername=xxx@sina.com
    #发送邮件箱的密码 
    log4j.appender.mail.SMTPPassword=xxx
    
    log4j.appender.mail.SMTPPort=25
    log4j.appender.mail.Subject=Log4J Message
    log4j.appender.mail.To=xxx@foxmail.com
    log4j.appender.mail.layout=org.apache.log4j.PatternLayout
    log4j.appender.mail.layout.ConversionPattern=%d %-5p [%t] (%c{1}:%L) - %m%n 

    输出文件和控制台

    log4j.rootLogger=INFO, stdout, file
    
    #自定义包路径LOG级别
    log4j.logger.org.quartz=WARN, stdout
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{MM-dd HH:mm:ss}[%p]%m%n
    
    # Output to the File
    log4j.appender.file=org.apache.log4j.FileAppender
    log4j.appender.file.File=G:\eclipse\workspace8\xxx\xx.log
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%n%-d{MM-dd HH:mm:ss}-%C.%M()%n[%p]%m%n
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  
    log4j.appender.CONSOLE.Threshold=INFO  
    log4j.appender.CONSOLE.Target=System.out  
    log4j.appender.CONSOLE.Encoding=GBK  
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout  
    log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  

    每天新建日志

    log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender  
    log4j.appender.A1.File=C:/log4j/log  
    log4j.appender.A1.Encoding=GBK  
    log4j.appender.A1.Threshold=DEBUG  
    log4j.appender.A1.DatePattern='.'yyyy-MM-dd  
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout  
    log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n  

    回滚

    log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender  
    log4j.appender.ROLLING_FILE.Threshold=ERROR  
    log4j.appender.ROLLING_FILE.File=rolling.log  
    log4j.appender.ROLLING_FILE.Append=true  
    log4j.appender.CONSOLE_FILE.Encoding=GBK  
    log4j.appender.ROLLING_FILE.MaxFileSize=10KB  
    log4j.appender.ROLLING_FILE.MaxBackupIndex=1  
    log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout  
    log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  

    自定义

    log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender  
    log4j.appender.im.host = mail.cybercorlin.net  
    log4j.appender.im.username = username  
    log4j.appender.im.password = password  
    log4j.appender.im.recipient = yyflyons@163.com  
    log4j.appender.im.layout=org.apache.log4j.PatternLayout  
    log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %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  
    # Set up for Log Facter 5  
    log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout  
    log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n  
    # Log Factor 5 Appender  
    log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender  
    log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000  

    1、配置根Logger:
    log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
    log4j.additivity.org.apache=false:表示Logger不会在父Logger的appender里输出,默认为true。
    level :设定日志记录的最低级别,可设的值有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的级别,Log4j建议只使用中间四个级别。通过在这里设定级别,您可以控制应用程序中相应级别的日志信息的开关,比如在这里设定了INFO级别,则应用程序中所有DEBUG级别的日志信息将不会被打印出来。
    appenderName:就是指定日志信息要输出到哪里。可以同时指定多个输出目的地,用逗号隔开。
    例如:log4j.rootLogger=INFO,A1,B2,C3

    2、配置日志信息输出目的地(appender):
    log4j.appender.appenderName = className
    appenderName:自定义appderName,在log4j.rootLogger设置中使用;
    className:可设值如下:
    (1)org.apache.log4j.ConsoleAppender(控制台)
    (2)org.apache.log4j.FileAppender(文件)
    (3)org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
    (4)org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
    (5)org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
    (1)ConsoleAppender选项:
    Threshold=WARN:指定日志信息的最低输出级别,默认为DEBUG。
    ImmediateFlush=true:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
    Target=System.err:默认值是System.out。
    (2)FileAppender选项:
    Threshold=WARN:指定日志信息的最低输出级别,默认为DEBUG。
    ImmediateFlush=true:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
    Append=false:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。
    File=D:/logs/logging.log4j:指定消息输出到logging.log4j文件中。
    (3)DailyRollingFileAppender选项:
    Threshold=WARN:指定日志信息的最低输出级别,默认为DEBUG。
    ImmediateFlush=true:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
    Append=false:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。
    File=D:/logs/logging.log4j:指定当前消息输出到logging.log4j文件中。
    DatePattern='.'yyyy-MM:每月滚动一次日志文件,即每月产生一个新的日志文件。当前月的日志文件名为logging.log4j,前一个月的日志文件名为logging.log4j.yyyy-MM。
    另外,也可以指定按周、天、时、分等来滚动日志文件,对应的格式如下:
    1)'.'yyyy-MM:每月
    2)'.'yyyy-ww:每周
    3)'.'yyyy-MM-dd:每天
    4)'.'yyyy-MM-dd-a:每天两次
    5)'.'yyyy-MM-dd-HH:每小时
    6)'.'yyyy-MM-dd-HH-mm:每分钟
    (4)RollingFileAppender选项:
    Threshold=WARN:指定日志信息的最低输出级别,默认为DEBUG。
    ImmediateFlush=true:表示所有消息都会被立即输出,设为false则不输出,默认值是true。
    Append=false:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。
    File=D:/logs/logging.log4j:指定消息输出到logging.log4j文件中。
    MaxFileSize=100KB:后缀可以是KB, MB 或者GB。在日志文件到达该大小时,将会自动滚动,即将原来的内容移到logging.log4j.1文件中。
    MaxBackupIndex=2:指定可以产生的滚动文件的最大数,例如,设为2则可以产生logging.log4j.1,logging.log4j.2两个滚动文件和一个logging.log4j文件。

    3、配置日志信息的输出格式(Layout):
    log4j.appender.appenderName.layout=className
    className:可设值如下:
    (1)org.apache.log4j.HTMLLayout(以HTML表格形式布局)
    (2)org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
    (3)org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
    (4)org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
    (1)HTMLLayout选项:
    LocationInfo=true:输出java文件名称和行号,默认值是false。
    Title=My Logging: 默认值是Log4J Log Messages。
    (2)PatternLayout选项:
    ConversionPattern=%m%n:设定以怎样的格式显示消息。

    格式化符号说明:

    %p:输出日志信息的优先级,即DEBUG,INFO,WARN,ERROR,FATAL。
    %d:输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy/MM/ddHH:mm:ss,SSS}。
    %r:输出自应用程序启动到输出该log信息耗费的毫秒数。
    %t:输出产生该日志事件的线程名。
    %l:输出日志事件的发生位置,相当于%c.%M(%F:%L)的组合,包括类全名、方法、文件名以及在代码中的行数。例如:test.TestLog4j.main(TestLog4j.java:10)。
    %c:输出日志信息所属的类目,通常就是所在类的全名。
    %M:输出产生日志信息的方法名。
    %F:输出日志消息产生时所在的文件名称。
    %L::输出代码中的行号。
    %m::输出代码中指定的具体日志信息。
    %n:输出一个回车换行符,Windows平台为"rn",Unix平台为"n"。
    %x:输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
    %%:输出一个"%"字符。
    另外,还可以在%与格式字符之间加上修饰符来控制其最小长度、最大长度、和文本的对齐方式。如:
    1) c:指定输出category的名称,最小的长度是20,如果category的名称长度小于20的话,默认的情况下右对齐。
    2)%-20c:"-"号表示左对齐。
    3)%.30c:指定输出category的名称,最大的长度是30,如果category的名称长度大于30的话,就会将左边多出的字符截掉,但小于30的话也不会补空格。

  • 相关阅读:
    sqlserver中判断表或临时表是否存在
    Delphi 简单方法搜索定位TreeView项
    hdu 2010 水仙花数
    hdu 1061 Rightmost Digit
    hdu 2041 超级楼梯
    hdu 2012 素数判定
    hdu 1425 sort
    hdu 1071 The area
    hdu 1005 Number Sequence
    hdu 1021 Fibonacci Again
  • 原文地址:https://www.cnblogs.com/tk55/p/8609660.html
Copyright © 2011-2022 走看看