【问题标题】:DotNetNuke Event Logging formatDotNetNuke 事件记录格式
【发布时间】:2011-03-23 17:26:57
【问题描述】:

使用 DotNetNuke 5。 我正在使用 EventLogController 和 LogInfo 将自定义消息添加到 dot net nuke 中的事件日志。

在 LogInfo 中,我们有一个添加属性/值的方法。我假设 Controller.AddLog(logInfo) 使用 LogInfo->Serialize 方法将属性和 vlaues 转换为 XML,以便 DNN 存储它。

我的问题是我想在我的消息中换行。无论如何我可以添加一个换行符。 "\r\n" 不起作用,
不起作用,CDATA 转义不起作用。一切都通过 Log 函数进行转义。

我如何自己漂亮地打印日志消息?

问候,V

【问题讨论】:

    标签: dotnetnuke


    【解决方案1】:

    遗憾的是,由于对所有消息都进行了 HTML 编码,因此尝试在 DNN 事件日志中执行此操作将会很不幸。

    根据您所在的位置/位置,您有几个选择。

    1. 您可以使用属性将它们添加为单独的详细信息行,请参见下面的示例。
    2. 您可以使用自定义日志表或类似的东西自己报告某些事情
    3. 如果您处于计划作业的上下文中,则可以登录到该历史记录,该历史记录不会被转义。

    示例

    日志属性

    objLog = new DotNetNuke.Services.Log.EventLog.LogInfo();
    objLog.AddProperty("SecureMyInstall", "Phase 2 Error Processing User Accounts");
    objLog.LogTypeKey = DotNetNuke.Services.Log.EventLog.EventLogController.EventLogType.HOST_ALERT.ToString();
    objLogger.AddLog(objLog);
    

    【讨论】:

    • 是的,只是我的属性要包含一些列值的快照,我希望它出现在正确的换行符中。至少 2 个:P
    【解决方案2】:

    日志内容以 HTML 格式显示,因此您应该可以输入<br /> 来添加换行符。

    【讨论】:

    • 感谢 bdukes,但已经尝试过...因为
      guillemets 被转义为 <和>就此而言,任何 HTML 实体都会被转义。
    猜你喜欢
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多