logback怎么异步日志到oracle数据库操作日志中

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&异步记录日志
注意:该功能需要高版本才能支持,如1.0.11。
AsyncAppender,异步记录日志。
工作原理:
当Logging Event进入AsyncAppender后,AsyncAppender会调用appender方法,append方法中在将event填入Buffer(这里选用的数据结构为BlockingQueue)中前,会先判断当前buffer的容量以及丢弃日志特性是否开启,当消费能力不如生产能力时,AsyncAppender会超出Buffer容量的Logging
Event的级别,进行丢弃,作为消费速度一旦跟不上生产速度,中转buffer的溢出处理的一种方案。AsyncAppender有个线程类Worker,它是一个简单的线程类,是AsyncAppender的后台线程,所要做的工作是:从buffer中取出event交给对应的appender进行后面的日志推送。
从上面的描述中可以看出,AsyncAppender并不处理日志,只是将日志缓冲到一个BlockingQueue里面去,并在内部创建一个工作线程从队列头部获取日志,之后将获取的日志循环记录到附加的其他appender上去,从而达到不阻塞主线程的效果。因此AsynAppender仅仅充当事件转发器,必须引用另一个appender来做事。
在使用AsyncAppender的时候,有些选项还是要注意的。由于使用了BlockingQueue来缓存日志,因此就会出现队列满的情况。正如上面原理中所说的,在这种情况下,AsyncAppender会做出一些处理:默认情况下,如果队列80%已满,AsyncAppender将丢弃TRACE、DEBUG和INFO级别的event,从这点就可以看出,该策略有一个惊人的对event丢失的代价性能的影响。另外其他的一些选项信息,也会对性能产生影响,下面列出常用的几个属性配置信息:
BlockingQueue的最大容量,默认情况下,大小为256。
discardingThreshold
默认情况下,当BlockingQueue还有20%容量,他将丢弃TRACE、DEBUG和INFO级别的event,只保留WARN和ERROR级别的event。为了保持所有的events,设置该&#20540;为0。
includeCallerData
提取调用者数据的代价是相当昂贵的。为了提升性能,默认情况下,当event被加入到queue时,event关联的调用者数据不会被提取。默认情况下,只有&cheap&的数据,如线程名。
默认情况下,event queue配置最大容量为256个events。如果队列被填满,应用程序线程被阻止记录新的events,直到工作线程有机会来转发一个或多个events。因此队列深度需要根据业务场景进行相应的测试,做出相应的更改,以达到较好的性能。
下面给出一个使用的配置示例:
&name=&FILE&&class=&&ch.qos.logback.core.rolling.RollingFileAppender&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&class=&ch.qos.logback.core.rolling.TimeBasedRollingPolicy&&&&&&&&&&&&&&&&&&&&/opt/log/test.%d{yyyy-MM-dd}.log&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&30&&&&&&&&&&&&&&&&&&&&&&&&&&&&&class=&ch.qos.logback.classic.PatternLayout&&&&&&&&&&&&&&&&&&&&%d{yyyy-MM-dd&HH:mm:ss.SSS}&[%thread]&%-5level&%logger{36}&-%msg%n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&name&=&ASYNC&&class=&&ch.qos.logback.classic.AsyncAppender&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&0&&&&&&&&&&&&&&&&&&&&&&&&&&&&512&&&&&&&&&&&&&&&&&&&&&&&&&&ref&=&FILE&&&&&&&&&&&&&&&&&&&&&&&level&=&trace&&&&&&&&&&&&&&&&ref&=&ASYNC&&&&&&&&&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:29189次
排名:千里之外
转载:106篇

我要回帖

更多关于 oracle数据库日志清理 的文章

 

随机推荐