Enterprise Library 3.1 日志格式化程序模板 - 包括 URL 请求

2023-12-02

我们有一个使用 Ektron v8.0 构建的自定义 Web 应用程序,该应用程序使用 EL 3.1,并且日志记录配置中的格式模板配置如下:

<add
      name="Text Formatter"
      type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging"
      template="Timestamp: {timestamp}
Message: {message}
Category: {category}
Priority: {priority}
EventId: {eventid}
Severity: {severity}
Title:{title}
Extended Properties: {dictionary({key} - {value}
)}"
                />

是否有请求 URL 的模板项?如果没有带有查询字符串参数的请求 url,则很难调试错误。


没有专门针对请求 URL 的模板项。您可以自己将请求 URL 添加到扩展属性,以便记录信息:

string requestUrl = System.Web.HttpContext.Current.Request.Url.AbsoluteUri;

Dictionary<string, object> dictionary = new Dictionary<string, object>();
dictionary.Add("RequestUrl", requestUrl);

Logger.Write("My message", dictionary);

由于格式化程序正在记录所有字典键/值,因此您的 RequestUrl 将显示在日志中。

另一种方法是创建您自己的IExtraInformationProvider填充您感兴趣的特定 Web 信息。除了使用企业库界面之外,这实际上是同一件事。

public class WebContextInformationProvider : IExtraInformationProvider
{
    public void PopulateDictionary(IDictionary<string, object> dict)
    {
        dict["RequestUrl"] = System.Web.HttpContext.Current.Request.Url.AbsoluteUri;
    }
}

Dictionary<string, object> dictionary = new Dictionary<string, object>();
WebContextInformationProvider webContext = new WebContextInformationProvider();

webContext.PopulateDictionary(dictionary);

Logger.Write("My message", dictionary);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Enterprise Library 3.1 日志格式化程序模板 - 包括 URL 请求 的相关文章

  • MVC5 身份验证中“...与主域之间的信任关系失败”

    我有一个 ASP NET MVC5 应用程序not使用 Windows 身份验证 一切都工作正常 直到我尝试在正在开发的域之外运行应用程序并且 无论出于何种原因 得到 The trust relationship between this
  • 无捕获 lambda 是结构类型吗?

    P1907R1 http www open std org jtc1 sc22 wg21 docs papers 2019 p1907r1 html 接受 C 20 引入结构类型 它们是非类型模板参数的有效类型 GCC 和 Clang 都接
  • SQL 选择与带有通配符的 URL 匹配的行

    我在数据库中有一个表 其中一列包含一个 URL 例如http example com users http example com users 轮廓 我得到了一个 URL 例如http example com users 234 profi
  • 使用 iTextSharp 生成 QR 条形码

    我有一个值数组 arr 0 Sam arr 1 1452 arr 2 NY 我想用这些值生成 QR 条形码 我们正在使用 ITextSharp 任何帮助将不胜感激 我正在使用vb net 以下是如何使用 iText 创建条形码的一些示例 h
  • 如何设置 commons-logging 来使用 logback?

    我们使用 slf4j logback 并且碰巧有一些使用 commons logging 的第三方库 如何设置它以使用 logback 答案是不要使用 commons logging jar 因为 SLF4J 的设计目的与 commons
  • ASP.NET 显示 SVN 修订号

    我在 Stack Overflow 页脚中看到显示了 SVN 修订号 这是自动化的吗 如果是的话 如何在 ASP NET 中实现它 其他语言的解决方案也是可以接受的 确保该文件有 svn keywords Rev Id 然后把 Rev 在那
  • 访问动态创建的控件 (c#)

    在我的代码后面 c 中 我动态创建了一些RadioButtonList 每个RadioButton中有更多RadioButton 我将所有控件放在一个特定的面板中 我需要知道的是稍后如何访问这些控件 因为它们不是在 aspx 文件中创建的
  • ADO.NET 池连接无法重用

    我正在开发一个 ASP NET MVC 应用程序 该应用程序使用 EF 6 x 来处理我的 Azure SDL 数据库 最近 随着负载的增加 应用程序开始进入无法再与 SQL 服务器通信的状态 我可以看到有 100 个到我的数据库的活动连接
  • 如何通过ConfigurationManager找到配置文件位置?

    如何通过ConfigurationManager找到配置文件位置 我在代码中有 ConfigurationManager 类 并且正在调试它 我想知道它指向哪个配置文件 web config 或 app config 等 Configura
  • 无需登录即可在 Intranet 上获取 Web 应用程序的域\用户名

    我的 Intranet 上有一个 Web 应用程序 VS 2005 有几个页面不需要用户登录应用程序 反馈和默认页面 我正在尝试获取要显示和 或发送反馈的域名和用户名 有没有一种方法可以在不需要用户登录的情况下执行此操作 我试过了this
  • 在 ASP.NET MVC 2 中使用 name="array_name[]" 作为表单元素发布数组

    再会 在 PHP 中 可以使用方括号将 name 属性分配给输入元素 如下所示 name my value PHP 会在服务器端自动将其转换为数组 这在 ASP NET MVC 中可能吗 如果没有 是否有其他方法可以在 ASP NET MV
  • 如果项目包含多个文件夹,如何使用 Add-Migration

    我想Add Migration使用我的 DbContext 但出现错误 The term add migration is not recognized as the name of a cmdlet function script fil
  • Application Insights 快照调试器:快照不是从 .NET 完整框架站点推送的

    我创建了一个全新的 Web 应用程序 NET Full Framework 4 7 2 添加了 Application Insights 快照收集器 但快照未推送到服务器 我什至没有得到Don t see the snapshot trou
  • 多行有多个提交按钮,我应该为每个按钮制作一个表单吗?

    我列出了大约 20 行 每行代表一个订单 每行需要有 3 个按钮 每个按钮单击将执行不同的操作 我有 3 个操作来处 理每个按钮发布请求 我只是不确定如何为每个按钮设置 Html 表单 tr td td tr
  • 相当于 C# 中的 $_FILES

    C 中 PHP 的 FILES 变量相当于什么 或者至少以相同的方式访问文件 我有一个无法更改的上传表单 需要了解如何获取这些文件 看一眼Request Files 例如 foreach HttpPostedFile item in Req
  • 从复选框列表中选择循环生成的复选框中的一个复选框

    抱歉我的英语不好 在我的 ASP NET 网站上 我从 SQL 表导入软件列表 看起来像这样 但实际上要长得多 Microsoft Application Error Reporting br br Microsoft Applicatio
  • ASP.NET 5 中的全局异常处理

    如何将自己的日志记录逻辑附加到 ASP NET 5 应用程序以处理业务逻辑和较低层中引发的每个异常 我尝试用自己的ILoggerProvider实施和loggerfactory AddProvider new LoggerProvider
  • 是否使用 C# 数据集? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 C 中的数据集概念有点困惑 编码 ASP NET 站点 但这并不重要 在我的阅读中 我了解到它们 本质上 用作我的应用程序和我的
  • Oauth2中如何同时撤销RefreshToken和使AccessToken失效

    我正在使用 Owin Oauth2 授权和资源服务器相同 开发单页面应用程序 AngularJS Net MVC Json Rest API 的身份验证流程 我选择了 Bearer Token 路由而不是传统的 cookie session
  • 代码中的.net Access Forms身份验证“超时”值

    我正在向我的应用程序添加注销过期警报 并希望从我的代码访问我的 web config 表单身份验证 超时 值 我有什么办法可以做到这一点吗 我认为您可以从 FormsAuthentication 静态类方法中读取它 这比直接读取 web c

随机推荐

  • APK 签名错误:无法从密钥库读取密钥

    我正在 intellij 和 gradle 下开发 Android 应用程序 并使用以下方式生成密钥库文件 keytool genkey v keystore my release key keystore alias alias name
  • 是什么意思[重复]

    这个问题在这里已经有答案了 这是代码 def my func f arg return f arg print lambda x 2 x x 5 gt gt gt
  • 控制笔记本相关表达式的 Rasterize[] 宽度

    Update向导先生的答案给出了像素完美的结果 但它仅适用于 Windows 并且会破坏剪贴板内容 我的答案应该适用于任何平台 但不太精确 例如它省略了输入 输出标签 但它确实允许设置光栅化宽度 这个问题我当时就出现了尝试为图像上传器制作预
  • WebStorm:如何美化 JavaScript 文件中引号中的 HTML

    我的中有以下块app component ts file Component selector my app template h1 title h1 h2 My Heroes h2 ul class heroes li li ul h2
  • 打开目录对话框

    我希望用户选择一个目录 用于保存我将生成的文件 我知道在 WPF 中我应该使用OpenFileDialog来自 Win32 但不幸的是 该对话框需要选择文件 如果我只是单击 确定 而不选择文件 它就会保持打开状态 我可以通过让用户选择一个文
  • 通过代码模拟触摸控制

    我正在尝试使用头部手势来浏览我的 Google Glass 应用程序 我能够识别头部姿势 例如向右看 向左看和向上看 他们每个人都有自己的方法来识别该手势时该怎么做 现在我需要在每个方法中模拟相应的触摸手势 所以它会认为我正在向左或向右滑动
  • C#:更改按钮背景颜色没有效果

    我在 Windows 窗体中使用 C 按钮时遇到问题 我以编程方式创建了许多按钮 然后将它们添加到表单中 有趣的是 除了修改按钮之外 对这些按钮 位置和大小 的每次修改BackColor很容易被执行 只有按钮的颜色保持不变 代码看起来像这样
  • Flash AS3 - 如何设置高质量录音

    目前 我正在使用 mic rate 100 这仅提供 63kbps Flash AS3 是否可以将比特率设置为高于 63kbps From the docs 可接受的值为 5 8 11 22 和 44 所以输入其中之一 根据文档 它的测量单
  • 如果没有父窗口,则无法在 PyQt 中创建新窗口

    我开始使用 PyQt 在 Python 中编写一个简单的文本编辑器 然后遇到了这个问题 对于 新文档 按钮 我想打开一个新的空文本编辑器 无论第一个窗口发生什么情况 它都会保持打开状态 问题是我让它显示窗口的唯一方法是发送self作为参数
  • 在经典的asp中读取csv文件。问题:列值被截断最多 300 个字符

    我有一个页面可以上传 csv 文件并保存到数据库中的表中 我正在使用下面的连接字符串来读取 csv 文件 set connection Server CreateObject ADODB Connection connection Open
  • 计算向量中零和一的百分比?

    我已经使用以下代码获得了矢量以及零和一的数量 u 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 transitions find u u 2 end u end 1 value u tr
  • Windows Phone 7 - 来电屏幕

    有没有办法在接到电话时将数据添加到来电屏幕 如果可能的话 我希望能够向该屏幕添加文本 Update 如果当前无法向该屏幕添加文本 是否有办法根据来电触发代码 您可以执行与来电相关的任何操作的唯一方法是通过 Obscured 事件得知此情况已
  • iOS 7 iPad Safari 横向innerHeight/outerHeight 布局问题

    我们发现 iOS 7 中 Safari 上高度为 100 的 Web 应用程序存在问题 似乎 window innerHeight 672px 与 window outerHeight 692px 不匹配 但仅限于横向模式 最终发生的情况是
  • filepicker.io Javascript API 调用导致不安全的 javascript 错误

    我目前正在使用 AngularJS 我想从我的上传控制器调用 filePicker pickAndStore 对 filepicker io API 函数的任何调用都会导致 不安全的 Javascript 尝试 错误 请求访问的帧具有 ht
  • SecurityError:操作不安全。使用 Htmlcanvas [重复]

    这个问题在这里已经有答案了 尝试转换图像我drag并将我的画布元素放入 PNG 或 Jpeg 照片中 有点类似于 Polyvore 的情绪板概念 这样我就可以在一张 PNG 或 Jpeg 照片中一次性查看放置在画布上的所有图像 这样我就可以
  • 在Javascript中实现优先级队列的有效方法?

    优先级队列对于每个条目都有一个优先级值和数据 因此 当向队列添加新元素时 如果它具有比集合中已有元素更高的优先级值 它就会冒泡到表面 当调用 pop 时 我们会获取具有最高优先级的元素的数据 在 Javascript 中 这种优先级队列的有
  • 使用未定义的 webpack 类捆绑 js 文件

    我将以下文件内容捆绑在一起 a js class BaseC doIt console log this class A extends BaseC b js class B extends BaseC var b new B b doIt
  • JSF:如何防止构建阶段由于递归而导致的堆栈溢出(尽管进行了渲染测试)

    对于没有在专用测试用例中抽象这个问题表示歉意 我希望来自真实项目的示例足够简单来描述问题 我有一个 JavaEE JPA2 JSF Web 应用程序 其中每个 Entity 元素 或子类 都有一个模板化 view xhtml 页面和一个标准
  • 使用 CI hook 设置公共变量

    我有几个常用变量 我想使用钩子来设置它们 例如 我有一个 post controller constructor 挂钩 在其中我想执行一些逻辑来设置用户主文件夹 public function post controller constru
  • Enterprise Library 3.1 日志格式化程序模板 - 包括 URL 请求

    我们有一个使用 Ektron v8 0 构建的自定义 Web 应用程序 该应用程序使用 EL 3 1 并且日志记录配置中的格式模板配置如下