相关疑难解决方法(0)

打印到DotNetNuke事件日志/查看器

出于调试目的,如何使用VB.NET或C#打印到DotNetNuke中的事件日志/查看器?

c# vb.net dotnetnuke

14
推荐指数
3
解决办法
6591
查看次数

如何在DNN 7+中使用LoggerSource?

我一直在研究在我的DNN 7+网站上实施日志记录.我希望有一个可配置的日志记录级别,例如log4net提供的级别.

我试图按照说明集成DNN网站上的log4net,http: //www.dnnsoftware.com/community-blog/cid/141723/Using-log4net-with-DotNetNuke .添加引用和代码行后使用日志记录:

DnnLog.Info("My Logging Worked!");
Run Code Online (Sandbox Code Playgroud)

该代码报告了一条警告:

'DotNetNuke.Instrumentation.DnnLog'已过时:'"由于性能不佳而在7.0.1中折旧,请使用LoggerSource.Instance"'

我很难找到有关正确做事方式的信息.似乎"DnnLog"已被类似的类替换为与log4net交互,称为"DnnLogger".使用此类(和"LoggerSource"类)的一个不同之处是使用静态方法不再完成日志记录.

用于检索记录器实例的"GetLogger()"函数需要一些参数,我还没有找到任何描述适当用法的文档.DNN源代码有很多例子.从这些示例看,适当的用法是提供当前类.在声明类"MyClass"的文件"MyClass.cs"中,看起来以下内容是正确的:

ILog logger = LoggerSource.Instance.GetLogger(typeof(MyClass));
Run Code Online (Sandbox Code Playgroud)

要么

DnnLogger logger = DnnLogger.GetLogger("MyClass");
Run Code Online (Sandbox Code Playgroud)

使用typeof()的第一行代码返回了什么记录器?我的意思是,这个记录器是否会使用为该站点配置的log4net设置?如果它没有使用log4net设置,保存的日志文件在哪里以及配置设置在哪里调整?我的书呆子想知道typeof()类参数究竟发生了什么,为什么要使用它?

如果第一个示例没有连接log4net(或允许可配置的易于使用的日志记录级别的东西),第二个选项是可行的方法吗?如果是这样,通过什么是合适的字符串?"MyClass"是我的猜测,但我无法证实.

如果我完全偏离这里并且应该从另一个方向接近这个,请随时提出建议.

非常感谢大家!

c# logging log4net dotnetnuke-7

5
推荐指数
1
解决办法
1419
查看次数

标签 统计

c# ×2

dotnetnuke ×1

dotnetnuke-7 ×1

log4net ×1

logging ×1

vb.net ×1