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文件。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值