ThinkDev.Logging-Target常用属性解释

Target,是ThinkDev.Logging组件中非常重要的一部分,通过配置不同的Target才能实现具体的日志方法。
目前支持如下Target类型:File、Mail、Msmq、Udp、Http、Trace、EventLog

以下是针对所有Target都生效的一些常用公共配置属性:

属性 说明 默认值
IsLog   获取或配置该Target对象是否开启正常写入功能,如果为False,则不会真正执行日志写入。   True  
IsAsyn 获取或配置该Target对象是否开启异步写入功能,如果为True,则会开启异步执行日志写入。默认为False,同时,若要该属性生效,Global配置节点也必须配置IsAsyn 为True。(特别的,当Target类型为MSMQ时,该属性无效;在Target为Mail、Http时建议开启) False
Layout 获取或配置该Target对象的日志文本布局,Logger、Level、Target三层均拥有该属性,优先级顺序Logger < Level < Target。 {message}
Encode 获取或配置该Target对象是日志写入的编码,比如:utf-8;gb2312; default
LimitLogSize 获取或设置该Target对象日志内容写入大小阀值,单位为字节,最大不超过100M。当设置该属性时,将会对日志内容先缓存,到达设置的阀值后才真正执行日志写入。比如设置1024,则当日志内容累计达到或超过1K时才会真正执行日志写入。 0    
LimitLogCount 获取或设置该Target对象日志内容写入次数阀值,最大不超过10000。当设置该属性时,将会对日志内容先缓存,当到达设置的阀值后才真正执行日志写入。比如设置100,则当日志方法被执行累计达到100次时才会真正执行日志写入。 0
LimitLogTimeTick 获取或设置该Target对象日志内容写入时间阀值,单位为秒,最大不超过24小时。当设置该属性时,将会对日志内容先缓存,到达设置的阀值后才真正执行日志写入。比如设置60,则当日志方法继上一次执行以来达到或超过1分钟时才会真正执行日志写入。 0

 其中,特别针对LimitLogSize LimitLogCount LimitLogTimeTick 三项,无论设置其中几项,只要有一项满足条件均会触发实际写入。

配置例子:
<target Name="File_Simple" TyPe="File" Filename="{LogDateDir}\log.txt" Encode="gb2312" LimitLogSize="1024000" LimitLogCount="100" LimitLogTimeTick="600"/>
该示例,设置了一个文件类型的Target,默认打开IsLog,默认关闭IsAsyn,其中三项阀值设置只要满足一项,即会触发实际写入

你可能感兴趣的:(logging)