posts - 67,  comments - 184,  trackbacks - 6

.Net Framework SDK所带的Duwamish是一个经典的示例,我们现在的很多项目都是按照这个架构设计的,在实际使用中,发现SystemFramework中进行日志记录日志类有时会出现问题,表现在有时候可以记录异常日志到日志文件中,有时却有只是创建了日志文件,而没有记录信息(记录异常到系统日志没有问题),经过仔细分析,发现是以Debug方式编译程序可以记录日志,而以Release编译程序就不能记录日志到文件中,经过分析源程序,在SystemFramework项目的ApplicationLog.vb文件,发现在143行处,下面代码:

        If Not debugWriter Is Nothing Then
            
'Log based on switch level.
            If level <= debugSwitch.Level Then
                
SyncLock debugWriter
                Debug.
WriteLine(messageText) '注:该行存在问题
                debugWriter.Flush
                
End SyncLock
            
End If
        
End If


其中写错误信息到文件的代码为  Debug.WriteLine(messageText),所以它只能在项目编译为Debug状态时运行,而以Release方案编译就不能运行了。只需要将它修改为

                debugWriter.WriteLine(messageText)

那么它就不受项目编译状态的影响了,都可以记录日志文件,它只受web.config中开关配置的影响了。

posted on 2004-10-29 09:43 zhumk 阅读(710) 评论(0)  编辑 收藏 所属分类: .NETASP.NET

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      


相关链接: