Log4j整合阿里云日志服务

### 日志级别 ERROR > WARN > INFO > DEBUG ###

# 优先采用slf4j获取log 所有的第三方jar都不太想看到输出日志,但是error的级别以上的需要
# private static final Logger logger = LoggerFactory.getLogger(Test.class);
# 而不是直接使用log4j的方式:rivate static Logger logger = Logger.getLogger(A.class);
log4j.rootLogger=WARN,stdout,error_file,File1,loghub

### 采用条件或占位符方式拼接日志 ###
# 第一种(条件):if (logger.isDebugEnabled()) {    logger.debug("Processing trade with id: " + id + " and symbol: " + symbol);   }
# 第二种(占位符):logger.debug("Processing trade with id: {} and symbol : {} ", id, symbol);

### 异常抛出信息 = 案发现场信息 + 异常堆栈信息
# logger.error(各类参数或者对象 toString() + "_" + e.getMessage(), e);
# WARN级别日志记录用户输入参数错误的情况

# 输出给定包下debug以上级别的日志,覆盖了rootLogger对com.clickplus包的作用,用于每个输出的Threshold,当输出的Threshold级别高于以下级别,则只输出高的级别,当输出的Threshold级别低于以下级别,则只输出以下低的级别
log4j.logger.com.clickplus=DEBUG

# org.apache.log4j.ConsoleAppender(控制台),
# org.apache.log4j.FileAppender(文件),
# org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
# org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
# org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

### PatternLayout参数解析 ###
# %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
# %r 输出自应用启动到输出该log信息耗费的毫秒数
# %c 输出所属的类目,通常就是所在类的全名
# %t 输出产生该日志事件的线程名
# %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
# %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
# %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)


#log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
#log4j.appender.file.File = /Users/12/log/AutoMarketing_dd_all.log
#log4j.appender.file.Append = true
#log4j.appender.file.Threshold = DEBUG
#log4j.appender.file.layout = org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %p ] %l %m%n

### 输出信息到控制台 ###
#若不想输出sql语句 修改为INFO及以上即可
log4j.appender.stdout.Threshold = INFO
#log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %l %m%n
#log4j.appender.stdout.layout.ConversionPattern =  %-d{yyyy-MM-dd HH:mm:ss} [ %p ] %l  %m%n
#log4j.appender.stdout.layout.ConversionPattern =  %-4r [%t] %-5p %c %x - %m%n

### 输出ERROR级别以上的日志到AutoMarketing_dd_error.log ###
log4j.appender.error_file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error_file.File = /home/ops/logs/AutoMarketing_dd_error.log
log4j.appender.error_file.Append = true
log4j.appender.error_file.Threshold = ERROR 
log4j.appender.error_file.layout = org.apache.log4j.PatternLayout
log4j.appender.error_file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %p ] %l %m%n

### 输出所有日志到AutoMarketing_receive.log ###
log4j.appender.File1 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.File1.File = /home/ops/logs/AutoMarketing_receive.log
log4j.appender.File1.encoding=UTF-8
log4j.appender.File1.Append = true
log4j.appender.File1.MaxFileSize = 10MB
log4j.appender.File1.Threshold = INFO
log4j.appender.File1.layout = org.apache.log4j.PatternLayout
log4j.appender.File1.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n


### 输出日志到日志服务 ###
log4j.appender.loghub=com.aliyun.openservices.log.log4j.LoghubAppender
log4j.appender.loghub.Threshold=INFO
#日志服务的project名,必选参数
log4j.appender.loghub.projectName=auto-marketing-dev
#日志服务的logstore名,必选参数
log4j.appender.loghub.logstore=auto-marketing-dev-logstore
#日志服务的http地址,必选参数 可参考https://help.aliyun.com/document_detail/29008.html
log4j.appender.loghub.endpoint=cn-hangzhou.log.aliyuncs.com
#log4j.appender.loghub.endpoint=cn-hangzhou-intranet.log.aliyuncs.com
#用户身份标识,必选参数
log4j.appender.loghub.accessKeyId=LTAIqTwE9dYVPjds
log4j.appender.loghub.accessKey=fbHMk6ukOGtQzN9fqkphy1gyzHSS7Z
#设置 log 字段格式,必选参数
log4j.appender.loghub.layout=org.apache.log4j.PatternLayout
log4j.appender.loghub.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
#被缓存起来的日志的发送超时时间,如果缓存超时,则会被立即发送,单位是毫秒,默认值为3000,最小值为10,可选参数
log4j.appender.loghub.packageTimeoutInMS=3000
#每个缓存的日志包中包含日志数量的最大值,不能超过 4096,可选参数
log4j.appender.loghub.logsCountPerPackage=4096
#每个缓存的日志包的大小的上限,不能超过 3MB,单位是字节,可选参数
log4j.appender.loghub.logsBytesPerPackage=3145728
#Appender 实例可以使用的内存的上限,单位是字节,默认是 100MB,可选参数
log4j.appender.loghub.memPoolSizeInByte=1048576000
#指定I/O线程池最大线程数量,主要用于发送数据到日志服务,默认是8,可选参数
log4j.appender.loghub.maxIOThreadSizeInPool=8
#指定发送失败时重试的次数,如果超过该值,会把失败信息通过Log4j的LogLog进行记录,默认是3,可选参数
log4j.appender.loghub.retryTimes=3
#指定日志主题,默认为 "",可选参数
#log4j.appender.loghub.topic = ""
#指的日志来源,默认为应用程序所在宿主机的 IP,可选参数
#log4j.appender.loghub.source = [your source]
#设置时间格式,默认为 yyyy-MM-dd'T'HH:mm:ssZ,可选参数
log4j.appender.loghub.timeFormat=yyyy-MM-dd'T'HH:mm:ssZ
#设置时区,默认为 UTC,可选参数(如果希望 time 字段的时区为东八区,可将该值设定为 Asia/Shanghai)
log4j.appender.loghub.timeZone=Asia/Shanghai


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值