① C++ log4cplus 写入日志失败,那么这个异常怎么扑捉
直接用try ...catch捕获啊
try{
LOG4CPLUS_TRACE(logger, strData.c_str());
}
catch(...)
{
//do something
}
② 打开安装日志文件时出错。请验证指定的日志文件位置是否存在,是否可以写入
可能Vista瘦身大师把必要文件跟“优化”掉了,才导致这样的后果, 重装吧。。
③ 使用了log4net,发布系统后,发现无法写日志了,怎么办
在项目中配置第一步:首先在项目中引用log4net.dll文件。第二步:在Web.config文件中进行添加configSections的节点第三步:添加log4net配置节点然后在log4net节点下添加写入本地文本文件中的配置注释很清楚,就不解释了。写入指定邮箱的配置通过的是163邮箱服务器发送将日志写入数据库的相关配置,还要建立一张对应的数据库表另外一种写入文件的方式配置在log4net节点中还有两个节点在框架的体系里,所有的日志对象都是根日志(rootlogger)的后代。因此如果一个日志对象没有在配置文件里显式定义,则框架使用根日志中定义的属性。在标签里,可以定义level级别值和Appender的列表。如果没有定义LEVEL的值,则缺省为DEBUG。可以通过标签定义日志对象使用的Appender对象。声明了在其他地方定义的Appender对象的一个引用。在一个logger对象中的设置会覆盖根日志的设置。而对Appender属性来说,子日志对象则会继承父日志对象的Appender列表。这种缺省的行为方式也可以通过显式地设定标签的additivity属性为false而改变。那么上面就会有数据库日志的写入和邮箱的写入在Global.asax文件初始化配置调用运行一下Log4net中DEBUG、INFO、WARN、ERROR区分得很好。正常的DEBUG、INFO的日志,就让它记录在日志文件里面吧。对于WARN、ERROR级别的日志,记录到日志文件的同时,顺便发送电子邮件到我的信箱里面。这样一来,我也不必每天去看日志文件,二来,出了什么问题,能及时通过电子邮件得到通知。数据库结构