在上面代码使用的时候还必须配置你的app.config或者是web.config,还要自定义一个OrmStyle继承ILoggerStyle接口
我是控制台程序,配置是的app.config
配置如下:
- <?xml version="1.0" encoding="utf-8" ?>
- <configuration>
- <configSections>
- <sectionGroup name="Galbanum">
- <section name="LoggerStyle" type="Logger.LoggerStyleHandler,Logger"/>
- <section name="LoggerPath" type="Logger.LoggerPathHandler,Logger"/>
- </sectionGroup>
- </configSections>
- <Galbanum>
- <LoggerPath>
- <add key="path1" value="../../"></add>
- <add key="path2" value="../"></add>
- </LoggerPath>
- <LoggerStyle>
- <add key="orm" value="Logger.OrmStyle,Logger"></add>
- </LoggerStyle>
- </Galbanum>
- <connectionStrings>
- <add connectionString="server=127.0.0.1; User ID=sa;Password=cherry; database=citylife" name="conn1" providerName="sqlclient"/>
- <add connectionString="Provider=Microsoft.Jet.OleDb.4.0;Data Source=E://Program Files//Galbanum//GalbanumWeb//App_Data//Test.mdb" name="conn2" providerName="oledb"/>
- </connectionStrings>
- </configuration>
在我这里OrmStyle的实现方式是这样的:
- public class OrmStyle:ILoggerStyle
- {
- public OrmStyle(string key)
- {
- this.key = key;
- }
- #region ILoggerStyle 成员
- private string key;
- public string Key
- {
- get { return this.key; }
- }
- public string ErrorStyle(ILoggerEntity entity)
- {
- OrmEntity orm = entity as OrmEntity;
- StringBuilder sb = new StringBuilder();
- sb.Append("执行数据库操作");
- sb.Append("失败");
- sb.Append(",该数据库连接字符串为:");
- sb.Append(orm.ConnectionString);
- sb.Append("/r/n");
- sb.Append("数据库操作SQL语句为:");
- sb.Append(orm.CmdText);
- sb.Append("/r/n");
- sb.Append("数据库CommadType执行类型为:");
- sb.Append(orm.CmdType);
- sb.Append("/r/n");
- sb.Append("执行时间为:");
- sb.Append(orm.ControlTime);
- sb.Append("/r/n");
- sb.Append("SQL语句参数为");
- if (orm.Parameters != null)
- {
- foreach (System.Data.Common.DbParameter para in orm.Parameters)
- {
- sb.Append("Parameter名称为:");
- sb.Append(para.ParameterName);
- sb.Append("值为:");
- sb.Append(para.Value);
- }
- }
- sb.Append("/r/n");
- sb.Append("返回结果为:");
- sb.Append(orm.CallBackObject);
- sb.Append("/r/n");
- return sb.ToString();
- }
- public string InfoStyle(ILoggerEntity entity)
- {
- OrmEntity orm = entity as OrmEntity;
- StringBuilder sb = new StringBuilder();
- sb.Append("执行数据库操作");
- if (orm.IsSuccess)
- sb.Append("成功");
- else
- sb.Append("失败");
- sb.Append(",该数据库连接字符串为:");
- sb.Append(orm.ConnectionString);
- sb.Append("/r/n");
- sb.Append("数据库操作SQL语句为:");
- sb.Append(orm.CmdText);
- sb.Append("/r/n");
- sb.Append("数据库CommadType执行类型为:");
- sb.Append(orm.CmdType);
- sb.Append("/r/n");
- sb.Append("执行时间为:");
- sb.Append(orm.ControlTime);
- sb.Append("/r/n");
- sb.Append("SQL语句参数为");
- if (orm.Parameters != null)
- {
- foreach (System.Data.Common.DbParameter para in orm.Parameters)
- {
- sb.Append("Parameter名称为:");
- sb.Append(para.ParameterName);
- sb.Append("值为:");
- sb.Append(para.Value);
- }
- }
- sb.Append("/r/n");
- sb.Append("返回结果为:");
- sb.Append(orm.CallBackObject);
- sb.Append("/r/n");
- return sb.ToString();
- }
- public string WarmStyle(ILoggerEntity entity)
- {
- throw new Exception("The method or operation is not implemented.");
- }
- #endregion
- }
<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文件。