沉默之都

沉默,造就了我们的冷酷-程序的威力
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ThinkDev.Logging组件介绍

Posted on 2013-01-29 10:50  基点项目师  阅读(532)  评论(0编辑  收藏  举报

1、ThinkDev.Logging是ThinkDev组件系列之日志组件,基于.NET3.5实现,移植于早期的LogPool组件,主要用来帮助程序记录日志信息;
2、支持多种输入类别,包括:日志文件、邮件、Event、MQ、日志UDP服务器等等;同时,还支持多种输入格式。
3、本组件无任何外部依赖。

基本使用方式:

1using ThinkDev.Logging;
2public static Logger DefaultLogger = LoggerFactory.GetLogger("DefaultLogger");
3、程序初始化时:LoggerGlobal.GlobalInit();
4、DefaultLogger.Info("LogContent"); DefaultLogger.Warn(Exception, "LogContent"); DefaultLogger.Info(Object, "LogContent");

使用本组件需要配置文件支持,文件名为ThinkDev.Logging.Config
配置文件支持多种寻路方式,无需人工干预。

<?xml version="1.0" encoding="utf-8" ?>
 <ThinkDev.Logging>
   <Global IsLog="True" ThrowException="false" StartDebugConsole="false" InnerLogger="d:\AppLog\ThinkDev.Logging.log"/>
   <Variable>
     <var name="LogDir" value="d:\AppLog\"/>
     <var name="LogDateDir" value="d:\AppLog\{year}\{month}\{day}\"/>
     <var name="MailServer" value="pop3.163.com"/>
     <var name="FromMail" value="***@163.com"/>
     <var name="ToMail" value="****,*****"/>
     <var name="MailAccount" value="****"/>
     <var name="MailPassword" value="****"/>
     <var name="SysName" value="SysName LogPool"/>
   </Variable>
   <Targets>
     <target Name="f1" TyPe="File" Filename="{LogDateDir}\Info.txt" Encode="gb2312"/>
     <target Name="ErrorFile" TyPe="File" Filename="{LogDateDir}\Error.txt" Encode="gb2312"/>
     <target name="ErrorMail" type="Mail" mailserver="{MailServer}" frommail="{FromMail}" mailaccount="{MailAccount}" MinLogTimeTick="60" mailpassword="{MailPassword}" subject="SysName 报警邮件" tomail="{ToMail}"/>
   </Targets>
   <Loggers>
     <Logger name="DefaultLogger" IsLog="true" Targets="f1" Layout="[LoggerLayout] {LongDate} - {message}">
       <Level level="Trace" targets="f1" Layout="[LevelLayout] {LongDate} - {message}" />
       <Level level="Debug" />
       <Level level="Info" targets="f1"/>
       <Level level="Error" targets="ErrorFile,ErrorMail" Layout="[LevelLayout] {LongDate} - {message}" />
     </Logger>
   </Loggers>
 </ThinkDev.Logging>