原创  Galbanum之Logger(二) 收藏

在上面代码使用的时候还必须配置你的app.config或者是web.config,还要自定义一个OrmStyle继承ILoggerStyle接口

我是控制台程序,配置是的app.config
配置如下:
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <configuration>
  3.   <configSections>
  4.     <sectionGroup name="Galbanum">
  5.       <section name="LoggerStyle" type="Logger.LoggerStyleHandler,Logger"/>
  6.       <section name="LoggerPath" type="Logger.LoggerPathHandler,Logger"/>
  7.     </sectionGroup>
  8.   </configSections>
  9.   <Galbanum>   
  10.       <LoggerPath>
  11.         <add key="path1" value="../../"></add>
  12.         <add key="path2" value="../"></add>
  13.       </LoggerPath>
  14.     
  15.       <LoggerStyle>
  16.         <add key="orm" value="Logger.OrmStyle,Logger"></add>
  17.       </LoggerStyle>
  18.   
  19.     
  20.   </Galbanum>
  21.  
  22.   <connectionStrings>
  23.     <add connectionString="server=127.0.0.1; User ID=sa;Password=cherry; database=citylife" name="conn1" providerName="sqlclient"/>
  24.     <add connectionString="Provider=Microsoft.Jet.OleDb.4.0;Data Source=E:\\Program Files\\Galbanum\\GalbanumWeb\\App_Data\\Test.mdb" name="conn2" providerName="oledb"/>
  25.   </connectionStrings>
  26. </configuration>


在我这里OrmStyle的实现方式是这样的:
  1. public class OrmStyle:ILoggerStyle
  2.     {
  3.         public OrmStyle(string key)
  4.         {
  5.             this.key = key;
  6.         }
  7.         #region ILoggerStyle 成员
  8.         private string key;
  9.         public string Key
  10.         {
  11.             get { return this.key; }
  12.         }
  13.         public string ErrorStyle(ILoggerEntity entity)
  14.         {
  15.             OrmEntity orm = entity as OrmEntity;
  16.             StringBuilder sb = new StringBuilder();
  17.             sb.Append("执行数据库操作");         
  18.             sb.Append("失败");
  19.             sb.Append(",该数据库连接字符串为:");
  20.             sb.Append(orm.ConnectionString);
  21.             sb.Append("\r\n");
  22.             sb.Append("数据库操作SQL语句为:");
  23.             sb.Append(orm.CmdText);
  24.             sb.Append("\r\n");
  25.             sb.Append("数据库CommadType执行类型为:");
  26.             sb.Append(orm.CmdType);
  27.             sb.Append("\r\n");
  28.             sb.Append("执行时间为:");
  29.             sb.Append(orm.ControlTime);
  30.             sb.Append("\r\n");
  31.             sb.Append("SQL语句参数为");
  32.             if (orm.Parameters != null)
  33.             {
  34.                 foreach (System.Data.Common.DbParameter para in orm.Parameters)
  35.                 {
  36.                     sb.Append("Parameter名称为:");
  37.                     sb.Append(para.ParameterName);
  38.                     sb.Append("值为:");
  39.                     sb.Append(para.Value);
  40.                 }
  41.             }
  42.             sb.Append("\r\n");
  43.             sb.Append("返回结果为:");
  44.             sb.Append(orm.CallBackObject);
  45.             sb.Append("\r\n");
  46.             return sb.ToString();
  47.         }
  48.         public string InfoStyle(ILoggerEntity entity)
  49.         {
  50.             OrmEntity orm = entity as OrmEntity;
  51.             StringBuilder sb = new StringBuilder();
  52.             sb.Append("执行数据库操作");
  53.             if (orm.IsSuccess)
  54.                 sb.Append("成功");
  55.             else
  56.                 sb.Append("失败");
  57.             sb.Append(",该数据库连接字符串为:");
  58.             sb.Append(orm.ConnectionString);
  59.             sb.Append("\r\n");
  60.             sb.Append("数据库操作SQL语句为:");
  61.             sb.Append(orm.CmdText);
  62.             sb.Append("\r\n");
  63.             sb.Append("数据库CommadType执行类型为:");
  64.             sb.Append(orm.CmdType);
  65.             sb.Append("\r\n");
  66.             sb.Append("执行时间为:");
  67.             sb.Append(orm.ControlTime);
  68.             sb.Append("\r\n");
  69.             sb.Append("SQL语句参数为");
  70.             if (orm.Parameters != null)
  71.             {
  72.                 foreach (System.Data.Common.DbParameter para in orm.Parameters)
  73.                 {
  74.                     sb.Append("Parameter名称为:");
  75.                     sb.Append(para.ParameterName);
  76.                     sb.Append("值为:");
  77.                     sb.Append(para.Value);
  78.                 }
  79.             }
  80.             sb.Append("\r\n");
  81.             sb.Append("返回结果为:");            
  82.             sb.Append(orm.CallBackObject);
  83.             sb.Append("\r\n");
  84.             return sb.ToString();
  85.         }
  86.         public string WarmStyle(ILoggerEntity entity)
  87.         {
  88.             throw new Exception("The method or operation is not implemented.");
  89.         }
  90.         #endregion
  91.     }
 <LoggerPath>
        <add key="path1" value="../../"></add>
        <add key="path2" value="../"></add>
      </LoggerPath>
    
      <LoggerStyle>
        <add key="orm" value="Logger.OrmStyle,Logger"></add>
      </LoggerStyle>

分别是定义日志路径和日志样式的方式,特别注意的是,样式中
add key="orm" value="Logger.OrmStyle,Logger"></add>
必须为该样式的类的全名称并加上,后加上该样式类的程序集名。即:
Logger.OrmStyle名类名,
Logger为程序集名,
还有一点注意的是,该程序集必须为你项目添加引用的。。即你项目中有该程序集的dll文件,上面配置为必须有Logger.dll文件。


发表于 @ 2008年12月19日 13:14:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:Galbanum之Logger(一) | 新一篇:Galbanum之Ioc(一)

  • 发表评论
  • 评论内容:
  •  
Copyright © ojekleen
Powered by CSDN Blog