【问题标题】:Biztalk Log4Net [closed]Biztalk Log4Net [关闭]
【发布时间】:2010-04-13 02:08:56
【问题描述】:

有人在 Biztalk 中使用过 log4net 吗?我们目前正在研究使用它并尝试了解其优缺点,以及它是否能满足我们的需求。

【问题讨论】:

    标签: log4net biztalk


    【解决方案1】:

    我已经将 Log4Net 与 BizTalk 一起使用,但我会说开箱即用我遇到了问题。 BizTalk 的每次调用都会导致当前业务流程脱水(序列化),因此您在 BizTalk 中使用的任何类型都必须是可序列化的,而 log4net 记录器则不是。

    如果您绝对必须使用 log4net,那么 Scott Colestock 写了一个包装器 here

    假设您没有被锁定,我只会使用 Enterprise Logging,它提供与 log4net 几乎相同的功能,并且可以与 BizTalk 一起使用。你可以找到它here

    对于优点和缺点,我会说它提供了几乎完全相同的功能,实际上我最终创建了一个包装实用程序,使 Enterprise Library Logging Block 看起来更像 log4net。

     public static class Logging
    {
    
        public static void LogMessage(TraceEventType eventType, string category, string message)
        {
            LogEntry logEntry = new LogEntry();
            logEntry.Severity = eventType;
            logEntry.Priority = 1;
            logEntry.Categories.Add(category);
            logEntry.Message = message;
            Logger.Write(logEntry);
    
        }
    
        public static void LogError(string category, string message)
        {
            LogMessage(TraceEventType.Error, category,message);
        }
    
        public static void LogInfo(string category, string message)
        {
            LogMessage(TraceEventType.Information, category, message);
        }
        public static void LogVerbose(string category, string message)
        {
            LogMessage(TraceEventType.Verbose, category, message);
        }
    }
    

    如果您需要更多信息,请查看here

    【讨论】:

      【解决方案2】:

      您是否考虑过使用 ETW。在我看来,这是检测 BizTalk 的方法。 http://blogs.msdn.com/b/asgisv/archive/2010/05/11/best-practices-for-instrumenting-high-performance-biztalk-solutions.aspx

      同时使用 log4net 和 Enterprise Logging 的缺点之一是您需要配置才能启用它。因此,您必须管理 biztalk 组中所有服务器上的 btsntsvc.exe.config 文件,这可能是一项开销。

      ETW 是零配置。

      【讨论】:

        【解决方案3】:

        我不得不说,在使用 log4net 和 MS Enterprise Library 进行不同项目的应用程序日志记录之后,我更喜欢 log4net。我特别喜欢使用 log4net 的方式,您可以将配置集中在一个地方(例如数据库),而不必依赖本地服务器 app.config 来运行 btsntsvc.exe。

        如果您需要将新的服务器实例添加到您的场中,这将特别有用 - 您已经有足够的工作要做,而不必担心日志配置。我已经将 log4net 与 BTS2004 和 BTS2006R2 一起使用并且很满意。我会推荐你​​使用的任何日志框架,不要陷入使用事件日志作为接收器的陷阱 - 当你在 10 个 BTS 应用程序服务器上横向扩展时,跟踪错误是一个耗时的过程,尤其是当编排实例与应用服务器没有关联,并且倾向于在您的资产中移动!保留关键 OS 和 BTS 服务问题的事件日志,而不是自定义应用程序错误 - 让 SCOM 监控变得不那么痛苦。

        仅供参考 - 我也将 log4net 与 Colestock 的可序列化包装器一起使用,尽管进行了一些调整。

        【讨论】:

          猜你喜欢
          • 2012-03-06
          • 2010-10-09
          • 2021-10-22
          • 1970-01-01
          • 1970-01-01
          • 2011-06-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多