关于网站日志和log4net(急急急!!!!!)

wydx123 2008-07-08 11:25:38
我要使用log4net来记录日志文件,这个可以当网站的日志文件系统吗?如果可以,那我是要在每一个trycatch后加log.info("")来记录信息?是否要在每一步都加这么一个信息让它写入日志文件呢?是否有什么好的办法,可以不用这么麻烦?网站的日志文件有什么好的办法来写吗?如果这个log4net可以分别记录,要如何使用?它是否可以分清用户之间的区别呢?在文件中,是否可以记录用户名以及操作这足够多的信息呢?谢谢,如果有详细代码或连接也可以,好的我再加分,谢谢大家了,急.
...全文
188 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunjunlin 2008-07-09
  • 打赏
  • 举报
回复
不知道你的问题解决没有,我看到啦,就说说我的看法吧.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);
}
}
}
最后:有个请求,请给我多一点分.我最近的分数,不知道为什么少很多,可能是下载东西多啦吧.
lextm 2008-07-09
  • 打赏
  • 举报
回复
log4net的配置就是config文件里面那些描述了。估计你用的Appender类型不对。看看官方说明换个Appender试试看。
wydx123 2008-07-09
  • 打赏
  • 举报
回复
我用log4net,为什么每次写都是覆盖原来的信息,而不是追加呢?要在哪设置一下吗?另外,我要如何判断目录中是否已经有这个文件了呢?如果有,如何追加?
lextm 2008-07-08
  • 打赏
  • 举报
回复
首先,要看lz怎么使用try catch了,如果使用的不好,出现到处要log的情况也很正常。

其次,基本上每个catch都需要log,这个是不能避免的。

最后,要想简化代码,把try catch放在公共的地方,现在只有AOP的方式比较好看一点,但是我相信重构你的系统来使用AOP会比找到所有的catch并且log麻烦很多:-)
fsy123456accp 2008-07-08
  • 打赏
  • 举报
回复
触发器 和成批处理sql语句
承储过程 都可以用 方法有好多
aaajedll 2008-07-08
  • 打赏
  • 举报
回复
異常處理函數,在這個函數里寫log.info(),web只要調用異常就行了
wydx123 2008-07-08
  • 打赏
  • 举报
回复
另外,是否只能在所有要输入日志文件的地方都要写上log.info()而不能在哪设置一下,然后在所有的catch时,都自动保存到指定的文件中?
数据库的日志,只能用触发器吗?
wydx123 2008-07-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xhan2000 的回复:]
可以在global或pagebase中写统一的log
[/Quote]

这个的意思麻烦能说详细些吗?
fancystyle 2008-07-08
  • 打赏
  • 举报
回复
http://www.google.cn/custom?domains=cnblogs.com&q=log4net&sitesearch=cnblogs.com&client=pub-4210569241504288&forid=1&ie=UTF-8&oe=UTF-8&safe=active&cof=GALT%3A%23008000%3BGL%3A1%3BDIV%3A%23336699%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3AFFFFFF%3BALC%3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BLH%3A50%3BLW%3A132%3BL%3Ahttp%3A%2F%2Fwww.cnblogs.com%2Fimages%2Fcnblogs_search.gif%3BS%3Ahttp%3A%2F%2Fwww.cnblogs.com%3BFORID%3A1&hl=zh-CN
winner2050 2008-07-08
  • 打赏
  • 举报
回复
-_-! 都说完了.

我接分好了.
xhan2000 2008-07-08
  • 打赏
  • 举报
回复
可以在global或pagebase中写统一的log
Jinglecat 2008-07-08
  • 打赏
  • 举报
回复
急有什么用? 学会baidu/google
Jinglecat 2008-07-08
  • 打赏
  • 举报
回复
http://www.baidu.com/s?wd=log4net

http://www.cnblogs.com/liwei6797/archive/2007/04/27/729679.html

http://www.rainsts.net/article.asp?id=488

http://heroman.cnblogs.com/archive/2006/01/09/314053.html

Jinglecat 2008-07-08
  • 打赏
  • 举报
回复
你想写就写什么
whq1982 2008-07-08
  • 打赏
  • 举报
回复
log4net只是提供给你写日志的函数 内容是你自己定的啊 想写什么写什么
烈火焚身 2008-07-08
  • 打赏
  • 举报
回复
up
cacar2008 2008-07-08
  • 打赏
  • 举报
回复
看看你catch都是不是你需要的,不关注的就不需要catch,catch是需要增加代码执行成本和执行效率的.

62,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧