log4net 写操作日志到oracle数据库debug

来源:互联网 发布:淘宝直通车地域投放 编辑:程序博客网 时间:2024/05/22 17:08

log4net写出到数据库的配置(win form应用程序):

1.写log4net.config配置文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <log4net debug='true'>

<!--debug是log4net的一个属性,开启后会将debug信息输出到console,对排错有极大帮助,详见http://www.cnblogs.com/zhangchenliang/p/4546352.html,尝试过http://www.cnblogs.com/hantianwei/p/4131059.html里的方法以失败而告终-->


    <logger name="OpLogger">
      <level value="INFO" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="OpAppender" />
    </logger>
   
    <appender name="LogXmlFileAppender" type="log4net.Appender.RollingFileAppender">

...

</appender>

   <root>
      <level value="ERROR" />...

    </root>
  </moostlog4net>
</configuration>

2. new global logger:

public static ILogger OpLogger = loggerFactory.GetLogger("log4net", "OpLogger");//构建过程被封装了,只要Oplogger跟配置文件里的logger name对应上就行

3. 记日志:先新建一个message object,再用global logger写进数据库

Moost.Log.Message.OpLogMessage op = new Moost.Log.Message.OpLogMessage("level", "userID", "datetime", "action-delete", "message", actionObject);
            OpLogger .Info(op);

但是。。。

日志能写出到文件,就是写不进数据库,排错:

1. debug属性设为true,设了之后看到console错误信息,方向一下就清晰明了了,盲调了一下午不及debug开开5分钟。。。

2. 错误信息:“未能加载文件或程序集“System.Data.OracleClient”。。。参考http://blog.163.com/y_p_xu/blog/static/170857102201121852627675/,改了version和publickeytoken就好了,从这个路径找的是对的,尝试过其他方法失败。。。

3. 数据库connection string多写了个provider...

4. insert语句字段写错了...

5. ORA-01036: illegal variable name/number貌似是因为冒号前面多了空格

0 0
原创粉丝点击