我要使用log4net来记录日志文件,这个可以当网站的日志文件系统吗?如果可以,那我是要在每一个trycatch后加log.info("")来记录信息?是否要在每一步都加这么一个信息让它写入日志文件呢?是否有什么好的办法,可以不用这么麻烦?网站的日志文件有什么好的办法来写吗?如果这个log4net可以分别记录,要如何使用?它是否可以分清用户之间的区别呢?在文件中,是否可以记录用户名以及操作这足够多的信息呢?谢谢,如果有详细代码或连接也可以,好的我再加分,谢谢大家了,急.
------解决方案--------------------------------------------------------
log4net只是提供给你写日志的函数 内容是你自己定的啊 想写什么写什么
------解决方案--------------------------------------------------------
可以在global或pagebase中写统一的log
------解决方案--------------------------------------------------------
異常處理函數,在這個函數里寫log.info(),web只要調用異常就行了
------解决方案--------------------------------------------------------
触发器 和成批处理sql语句
承储过程 都可以用 方法有好多
------解决方案--------------------------------------------------------
首先,要看lz怎么使用try catch了,如果使用的不好,出现到处要log的情况也很正常。
其次,基本上每个catch都需要log,这个是不能避免的。
最后,要想简化代码,把try catch放在公共的地方,现在只有AOP的方式比较好看一点,但是我相信重构你的系统来使用AOP会比找到所有的catch并且log麻烦很多:-)
------解决方案--------------------------------------------------------
看看你catch都是不是你需要的,不关注的就不需要catch,catch是需要增加代码执行成本和执行效率的.
------解决方案--------------------------------------------------------
up
------解决方案--------------------------------------------------------
不知道你的问题解决没有,我看到啦,就说说我的看法吧.log4net可以将系统信息:出错,调试,致命信息记录下来,我用过的有两种方法,一:记录在文本txt中,二:写进window系统日志中.
配置web.config
<!--log4net配置 BEGIN-->
<log4net debug="true">
<!--
None
Fatal
ERROR
WARN
DEBUG
INFO
ALL
-->
<logger name="AspNetTraceAppender">
<appender-ref ref="AspNetTraceAppender"></appender-ref>
</logger>
<logger name="RollingLogFileAppender">
<appender-ref ref="RollingLogFileAppender" />
</logger>
<logger name="SmtpAppender">
<appender-ref ref="SmtpAppender" />
</logger>
<logger name="AllAppender">
<!--<level value="DEBUG" />-->
<appender-ref ref="AspNetTraceAppender"></appender-ref>
<!--<level value="ERROR" />-->
<appender-ref ref="RollingLogFileAppender" />
<!--<level value="Fatal" />-->
<appender-ref ref="SmtpAppender"></appender-ref>
</logger>
<!--邮件通知 这个暂时没有实现-->
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<authentication value="Basic" />
<to value="sunjunlin2008@163.com" />
<from value="sunjunlin2008@163.com" />
<username value="yourEmailName" />
<password value="yourEmailPwd" />
<subject value="Jwt GLPT Logging Message-WMJ" />
<smtpHost value="smtp.163.com" />
<bufferSize value="512" />
<lossy value="true" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="WARN"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="Fatal" />
<param name="LevelMax" value="Fatal" />
</filter>
</appender>
<!--邮件通知-->
<!--创建分批日志文件-->
<!--创建分批日志文件-->
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\teaTreeDebug.log"/>
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="_yyyyMMdd.TXT" />
<maxSizeRollBackups value="3" />
<maximumFileSize value="1MB" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
</log4net>
<!--log4net配置 END-->
一:记录在文本txt中;
写日志方法:如下
string _outExceptionMessge = ex.ToString();
log4net.ILog log = (log4net.ILog)log4net.LogManager.GetLogger("AllAppender");
//log.Debug(_outExceptionMessge);
log.Error(_outExceptionMessge);
// log.Fatal(_outExceptionMessge);
二:写进系统日志:
protected void Open()
{
if (Connection == null)
{
try
{
Connection = new SqlConnection(ConnectionString);
}
catch(Exception e)
{
log.WriteLog(EventLogEntryType.Error,"创建数据库连接失败,系统异常信息:"+e.Message);
}
}
if (Connection.State.Equals(ConnectionState.Closed))
{
try
{
Connection.Open();
}
catch(Exception e)
{
log.WriteLog(EventLogEntryType.Error,"打开数据库连接失败,系统异常信息:"+e.Message);
}
}
}
最后:有个请求,请给我多一点分.我最近的分数,不知道为什么少很多,可能是下载东西多啦吧.