ThinkDev.Logging

ThinkDev.Logging组件中,Layout在其中发挥了很重要的作用,包括日志Content Layout,日志路径定义等均可以使用layout来设置。
其中,不可避免的会用到一些常量,比如当前时间,换行,GUID等。(当然,组件也支持用户自定义变量,可参考配置中Variable节点,本文不做介绍)
以下是目前组件支持的一些常用系统变量:

变量 说明
LongDate 长时间格式,例如:2012-08-19 10:00:00
ShortDate 短日期格式,例如:2012-08-19
Year 表示当前时间的年部分,例如:2012
Month 表示当前时间的月部分,例如:08
Day 表示当前时间的天部分,例如:19
Hour 表示当前时间的小时部分,例如:10
Minute     表示当前时间的分钟部分,例如:00
Second     表示当前时间的秒部分,例如:00
Guid     表示新生成一个GUID实例
NewLine     表示系统环境的换行实现,例如文本文件中:      
BaseDir     表示当前工作目录的完整路径      
CurrentSysUser     表示当前登录到操作系统用户名      
MemorySize   表示当前应用占用的内存,单位为字节      
ProcessorCount   表示当前计算机上的处理器数量      

示例:
我们定义一个文本文件Target的配置:
<target Name="f1" TyPe="File" Filename="D:AppLog{year}{month}{day}.log" Encode="gb2312"/>
那么当2012年8月19日发生日志行为时,将会在D:AppLog20128 文件夹中生成19.log这个日志文件 

我们定义个Target的日志内容Layout的配置:
Layout=" {LongDate} - {message}"
那么在发生日志行为时,将会自动在应用传入的内容中加上2012-08-19 10:00:00- 前缀

目前系统变量还不是很丰富,但不久的将来相信会逐渐丰富起来。

原文地址:https://www.cnblogs.com/zhanglixina/p/7763337.html