15

似乎没有,我们计划在未来的项目中使用它(日志记录、异常等)。它仍然支持吗?我没有像以前那样看到围绕这个工具的很多活动。

我们已经有了 NewRelic,因此了解 NewRelic 是否已经可以进行日志记录/异常处理也很有帮助。例如,我可以创建自定义日志或异常并在新的 relic 仪表板中查看它们吗?

4

6 回答 6

33

确实如此。您可以通过Nuget将Enterprise Library 6添加到您的项目中 这是示例应用程序。

using System;
using System.Diagnostics;
using Microsoft.Practices.EnterpriseLibrary.Logging;
using Microsoft.Practices.EnterpriseLibrary.Logging.Formatters;
using Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners;

namespace Practice.Logging
{
    internal class Program
    {
        public static void Main(string[] args)
        {
            LoggingConfiguration loggingConfiguration = BuildProgrammaticConfig();
            var defaultWriter = new LogWriter(loggingConfiguration);

            // Check if logging is enabled before creating log entries.
            if (defaultWriter.IsLoggingEnabled())
            {
                defaultWriter.Write("Log entry created using the simplest overload.");
                defaultWriter.Write("Log entry with a single category.", "General");
                defaultWriter.Write("Log entry with a category, priority, and event ID.", "General", 6, 9001);
                defaultWriter.Write("Log entry with a category, priority, event ID, " + "and severity.", "General", 5, 9002, TraceEventType.Warning);
                defaultWriter.Write("Log entry with a category, priority, event ID, " + "severity, and title.", "General", 8, 9003, TraceEventType.Warning, "Logging Block Examples");
            }
            else
            {
                Console.WriteLine("Logging is disabled in the configuration.");
            }
        }

        private static LoggingConfiguration BuildProgrammaticConfig()
        {
            // Formatter
            var formatter = new TextFormatter();

            // Trace Listeners
            var eventLog = new EventLog("Application", ".", "StackOverflow #24309323");
            var eventLogTraceListener = new FormattedEventLogTraceListener(eventLog, formatter);

            // Build Configuration
            var config = new LoggingConfiguration();
            config.AddLogSource("General", SourceLevels.All, true)
                  .AddTraceListener(eventLogTraceListener);

            config.IsTracingEnabled = true;
            return config;
        }
    }
}

您可以在Logging Application Block中找到更多详细信息

使用企业库配置控制台扩展

要将扩展安装到 Visual Studio 2013 中,您可以按照以下解决方法步骤操作。

VSIX 文件是使用开放打包约定的 zip 文件。您可以将 .VSIX 扩展名重命名为 .ZIP 并使用任何 zip 浏览器(包括 Windows 文件资源管理器)来浏览其内容。

  • 将文件解压到文件夹中
  • 在文件夹中找到名为extension.vsixmanifest的文件
  • 用notepad.exe打开文件
  • 定位
<SupportedProducts>
  <VisualStudio Version="11.0">
    <Edition>Ultimate</Edition>
    <Edition>Premium</Edition>
    <Edition>Pro</Edition>
  </VisualStudio>
</SupportedProducts>
  • 并用下面的部分替换它
<SupportedProducts>
  <VisualStudio Version="11.0">
    <Edition>Ultimate</Edition>
    <Edition>Premium</Edition>
    <Edition>Pro</Edition>
  </VisualStudio>
  <VisualStudio Version="12.0"> <!-- VS2013 -->
    <Edition>Ultimate</Edition>
    <Edition>Premium</Edition>
    <Edition>Pro</Edition>
  </VisualStudio>
  <VisualStudio Version="14.0"> <!-- VS2015 -->
    <Edition>Ultimate</Edition>
    <Edition>Premium</Edition>
    <Edition>Pro</Edition>
  </VisualStudio>
</SupportedProducts>

比较

  • 保存文件并退出
  • 再次将文件夹压缩为ZIP文件
  • 将扩展名重命名为VSIX
  • 双击它。
于 2014-06-22T04:05:17.233 回答
19

技术上与@cilerler 建议的相同,但可以下载和使用的解决方案。

Visual Studio 2013: Microsoft.Practices.EnterpriseLibrary.ConfigConsole.V6.VS2013.vsix来源) Visual Studio 2015: Microsoft.Practices.EnterpriseLibrary.ConfigConsole.V6.VS2015.vsix来源

于 2014-11-11T19:21:18.083 回答
0

是的,它确实。此链接将提供所有必要的详细信息https://msdn.microsoft.com/en-us/library/dn169621.aspx

您也可以参考下面的站点以获取详细的实现。您可以安装 vsix 版本或二进制文件 ( http://www.microsoft.com/en-us/download/details.aspx?id=38789 ) 来创建配置。vsix 有时不起作用,因此您可以修改 extension.vsixmanifest,如下文所述。

http://www.gonetdotnet.info/posts/configure-and-use-enterprise-library-5-logging http://www.gonetdotnet.info/posts/how-to-configure-and-use-enterprise-library -5-0-application-blocks-using-nuget-package-manager

于 2015-04-09T10:17:53.163 回答
0

我们在 asp.net 或控制台或 windows 应用程序的 bin 文件夹中需要以下这些 dll

•Microsoft.Practices.EnterpriseLibrary.Common.dll
•Microsoft.Practices.EnterpriseLibrary.Configuration.DesignTime.dll
•Microsoft.Practices.EnterpriseLibrary.Configuration.Design.HostAdapterV5.dll
•Microsoft.Practices.EnterpriseLibrary.Configuration.EnvironmentalOverrides.dll

实际上 Microsoft.Practices.Unity.dll 是可选的,这是我在 entlib 6 中看到的

来自 entlib 5 msdn 的源代码

于 2015-01-16T14:23:00.463 回答
0

我的项目使用的是 Enterprise Library 6.0,而 VSIX 似乎针对 EL 5。虽然我无法让 VSIX 在 Visual Studio 2013 和 2015 中正常工作,但我能够从Microsoft 提供的二进制文件。这是下载链接

选择 EnterpriseLibrary6-binaries.exe。通过将文件解压缩到文件夹来安装它。名为 EntLibConfig.exe 的 64 位企业库配置工具。还有一个名为 EntLibConfig-32.exe 的 32 位版本。

于 2016-01-22T03:59:32.773 回答
0

对于 Visual Studio 2017。

<VisualStudio Version="15.0"> <!-- VS2017 -->
    <Edition>Enterprise</Edition>
    <Edition>Premium</Edition>
    <Edition>Pro</Edition>
</VisualStudio>
于 2017-09-04T10:29:51.017 回答