使用 Unity\T4\anything 进行面向方面的日志记录

2023-11-27

在我的应用程序中,我们有一个跟踪记录器。我们在大多数重要方法的开头和结尾添加了日志语句,用于跟踪方法名称和参数值。现在这些跟踪语句使代码变得臃肿,阅读它们有点痛苦。

我正在考虑如何将代码的这方面与我的业务逻辑分开。

今天在读Unity的拦截框架。我突然想到是否可以使用通用记录器拦截我的方法调用并记录方法名称和参数值。我不确定是否可以使用反射读取方法参数。 Unity可以这样用吗?

另一个想法是运行 T4 代码生成引擎,在用特定属性修饰的所有方法的开头和结尾生成日志记录语句。由于我对T4知之甚少,有谁知道这是否可以实现?

还有其他方法可以将日志记录代码与我的业务逻辑分开吗?

干杯, 取消网格划分


Use 后锐利.

他们还列出了很多替代方案http://www.sharpcrafters.com/postsharp/alternatives

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

使用 Unity\T4\anything 进行面向方面的日志记录 的相关文章

  • XNA 窗口调整大小调用 LoadContent

    每当我将 XNA 窗口大小调整到尽可能小的分辨率 0 像素高 时 程序都会再次开始调用 LoadContent 这会导致我的应用程序崩溃 因为我只希望它加载内容一次 我能做什么 有没有办法阻止用户过度调整窗口大小 例如 Java 中的 se
  • Swashbuckle 在 ASP.NET Core 中失败并出现 NotSupportedException 异常

    我跟着这个关于如何在我的 asp net core 2 2 项目中添加 swashbuckle 当我运行该项目时 我收到以下错误 处理请求时发生未处理的异常 NotSupportedException HTTP 方法 GET 和路径 id
  • 如何使用c#/VB.NET在word中插入书签

    我正在尝试使用 C 在 Word 文档中添加书签 但它不起作用 而且我在 msdn 文档和互联网上都找不到任何帮助 这就是我正在尝试做的事情 我正在阅读 Word 文档 然后在该文档中搜索关键字 然后将该文本转换为超链接 效果很好 现在 我
  • BlockingCollection.Dispose 实际上做了什么?

    BlockingCollection Dispose 实际上做了什么 这允许正确处理内部等待句柄 BlockingCollection
  • 最新的反应式扩展 (Rx) 教程

    我对反应式扩展非常感兴趣 但我找不到最新的教程 我开始于使用 NET 响应式扩展消除异步忧郁症 http go microsoft com fwlink LinkId 208528但它已经过时了 我可以找出一些改变 但我无法让很多例子发挥作
  • 从 .resx 文件组获取所有可用区域性

    我需要以编程方式列出 resx 文件组中的可用区域性 但 ResourceManager 类似乎没有帮助 我可能有 Labels resx Labels fr FR resx Labels ro RO resx 等等 但是 我如何在运行时找
  • Visual Studio 2013 中的内存分析

    我想探索如何在我的应用程序中分配内存 我有 C 控制台应用程序并使用 Visual Studio 2013 Professional I go to Analyze gt 性能和诊断并选择 NET内存分配 结果我得到以下总结 图表中每次CP
  • 如何使用 PetaPoco 库自动从数据库创建模型?

    我的数据库中有一个表 我想为其创建一个带有 getter 和 setter 的模型类 对于我项目中的大部分任务 我使用 PetaPoco 我手动创建了模型 但很少有表有很多列 有没有办法使用 PetaPoco 从数据库创建模型 我强烈建议您
  • 在 .Net 中创建 EPUB

    有没有可以用来在 NET C 中创建 epub 文件的库 Flowdocument gt epub 转换工具将是理想的选择 但任何类型的库都很棒 我还对评估编写一个程序的复杂程度感兴趣 我知道它基本上是一堆压缩的 XHTML 文件 但我不断
  • 如何从 SOAP 响应中删除额外的结果标签

    我知道这个问题以前曾被问过 但我在任何地方都找不到答案 问题是我的 asmx 文件中有以下代码 namespace IrancellSmsServer SoapDocumentService RoutingStyle SoapService
  • 基于 Web.Config 使用的 GAC 程序集版本

    Good Day 我有一个在 GAC 中使用自定义程序集的项目 为了能够使用它 我在中添加了对我的项目的引用 C WINDOWS Microsoft NET assembly GAC MSIL JOHN CommonLib v4 0 1 0
  • 数组与列表的性能

    假设您需要一个需要频繁迭代的整数列表 数组 我的意思是非常频繁 原因可能有所不同 但可以说它位于大容量处理的最内层循环的核心 一般来说 人们会选择使用列表 List 因为它们的大小具有灵活性 最重要的是 msdn 文档声称列表在内部使用数组
  • 在我的网站上显示 Google Analytics(分析)仪表板

    我设置了一个 ASP NET 网站 并使用 Google Analytics 进行页面跟踪 我唯一不喜欢的是我必须离开我的网站 到 Google Analytics 网站 才能看到该报告 有什么方法可以使用他们拥有的所有 AJAX 在我自己
  • 无法在.net core中使用WCF WSHttpBinding

    我正在尝试将我的项目从 net 移动到 net core 我最初在 net 中使用 WCF WSHttpBinding 服务 但无法在 net core 中使用相同的服务 我尝试使用 BasicHttpBinding 在客户端与 WsHtt
  • 检查列表是否包含另一个列表。 C#

    编辑 只是说 ContainsAllItem 中的注释解释得最好 很抱歉问这个问题 我知道以前有人问过这个问题 但我只是不明白 好的 所以我想检查一个列表是否包含另一个列表中的所有项目WITHOUT重叠 以及根据类字符串 名称变量 称为项目
  • 如何将pdf页面设置设置为打印属性对话框?

    大家好 我想知道如何设置 pdf 页面设置到打印属性对话框 例如 如果我的 PDF 页面设置为横向 则布局会自动显示横向而不是纵向 如果我的 PDF 页面设置为纵向 则布局会自动显示纵向 我在这个主题上做了很多研发 但没有找到任何满意的链接
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • 在 .NET 中记录 StackOverflowException

    最近 我的 NET 应用程序 asp net 网站 中出现了堆栈溢出异常 我之所以知道该异常是因为它出现在我的 EventLog 中 我知道 StackOverflow 异常无法被捕获或处理 但是有没有办法在它杀死您的应用程序之前记录它 我
  • 检测 SignalR Hub 客户端立即断开连接

    SignalR Hub OnDisconnected 何时在服务器端引发 对于崩溃或关闭而不调用Stop method 我正在使用 SignalR NET 客户端进行测试 而不是 javascript 客户端 如果我打电话给Stop客户端上
  • 将文本从文本文件添加到 PDF 文件[重复]

    这个问题在这里已经有答案了 这是我的代码 using FileStream msReport new FileStream pdfPath FileMode Create step 1 using Document pdfDoc new D

随机推荐

  • 故事板不包含标识符为“MainWindow”的控制器

    我正在尝试实例化一个NSWindowController来自我的 OS X 应用程序中的故事板 NSWindowController mainWindowController NSStoryboard storyboardWithName
  • 如何允许用户从他的相机胶卷或照片库中选取照片?

    我正在制作一个小照片编辑应用程序来娱乐 用户必须从相机胶卷中选择一张照片 然后将其导入进行修改 这通常是如何运作的 我见过许多应用程序允许使用看起来总是相同的标准控制器 是否也可以直接访问该库或自定义该控制器的外观 我应该从哪里开始寻找 最
  • 如何删除输入文本元素上的边框突出显示

    当 HTML 元素被 聚焦 当前被选中 被选项卡插入 时 许多浏览器 至少 Safari 和 Chrome 会在其周围放置蓝色边框 对于我正在处理的布局 这会分散注意力并且看起来不正确
  • C# 像 C++ 一样将所有内容设为公共/私有? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我最近开始学习 C 但我有一些 C 背景 我想知道我会怎么做类似的事情 class em
  • 需要一个简单的正则表达式来查找单个单词中的数字

    我有以下 url 路由 我想确保该路由的一部分只接受数字 因此 我可以提供一些检查单词的正则表达式 页 当前页 那么 有人能给我一个正则表达式 当单词是大于 0 的数字 任何 int 时 即 1 int max 它会匹配 1 9 0 9 其
  • 如何在 AVAudioPlayer 中静音?

    我创造了AVAudioPlayer 现在我想在用户单击按钮时将其静音 这是我尝试过的 player volume 1 0 when first time i initiate my player IBAction speakerOnOff
  • 如何一次只显示一个对话框?

    我的 Android 应用程序在单击按钮时显示一个 AlertDialog 当我多次单击该按钮时 会创建多个对话框 我怎样才能解决这个问题 这是我的代码 button setOnClickListener new OnClickListen
  • Firemonkey 中的动画 GIF

    我正在尝试使用 TImage 以 Firemonkey HD 形式显示动画 GIF 但我没有看到任何动画方法 使用 Vcl Imaging gifImg 不是一个选项 因为类型不同 有人可以建议一种方法来解决这个问题 或者可能是在 Fire
  • 你能列出函数接收的关键字参数吗?

    我有一个字典 我需要将键 值作为关键字参数传递 例如 d args kw1 value1 kw2 value2 example d args 这工作正常 but如果 d args 字典中存在不被接受的值example函数 它显然死了 比如说
  • 执行 JaCoCo 时出现“由于缺少执行数据文件而跳过 JaCoCo 执行”

    我正在使用 Maven 3 0 3 JUnit 4 8 1 和 Jacoco 0 6 3 201306030806 并且我正在尝试创建测试覆盖率报告 我有一个仅包含单元测试的项目 但无法运行报告 我反复收到错误 Skipping JaCoC
  • 按关系值对集合进行排序

    我想通过嵌套关系的属性对 laravel 集合进行排序 所以我查询所有项目 仅当项目有与当前用户相关的任务时 然后我想按任务关系的截止日期对项目进行排序 当前代码 项目 php public function tasks return th
  • 如何监控 Oracle 上的 SQL 活动? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我想找到一个类似于 SQL Server Profiler 的 Oracle 工具 但粗略搜索并没有得到任何好的结果 我只想实时查看我的应用程序对数据库进行的查询 有什么建议么 Or
  • 如何将函数传递给 julia Gadfly 主题参数

    我做了一个这样的情节 plot layer x sort randn 1000 1 y sort randn 1000 1 Geom point layer x 4 4 y 4 4 Geom line Theme default color
  • Go 中的通用可变参数?

    我知道 Go 不支持模板或重载函数 但我想知道是否有任何方法可以对可变参数函数进行某种泛型编程 我有很多功能 例如 func this Document GetString name string defaults string strin
  • 在 std 命名空间中添加模板专业化

    背景 我试图回答这个问题为什么我的重载 我的建议之一 除了使用谓词之外 是移动自定义operator lt for std string位于命名空间 std 中 以便编译器比模板化版本更喜欢它 答案以闪电般的速度被否决 来自一位知名用户的评
  • 错误:格式不受支持,或文件损坏:需要 BOF 记录

    我正在尝试打开一个 xlsx 文件并打印它的内容 我一直遇到这个错误 import xlrd book xlrd open workbook file xlsx print The number of worksheets is book
  • ExpressJS 中的 req.query 和 req.param

    之间的主要区别req query and req param在快递中 两者有何不同 何时使用 then 在什么情况下使用 假设客户端在请求中发送 Android 键 值 对 使用哪一个 EDIT 假设android发送一个POST请求 gt
  • 如何在命令行上将文件名和扩展名分隔成变量

    我需要将文件 x dtsx 从位置 a 复制到位置 b 如果 x dtsx 已经存在于 b 中 那么我需要将 x dtsx 重命名为 x Standby dtsx 然后 重命名后将 x dtsx 复制到 b 我当前的代码如下所示 if ex
  • 如何在不创建 Umbrella 框架的情况下构建依赖于另一个框架的 iOS 框架

    我试图通过创建一些可重用的框架来简化我的开发 这些框架包含我在多个项目中经常重用的功能 然而 在设置我的框架之一时 我遇到了一个问题 这些类依赖于 Firebase 框架 阅读 Apple 文档后 不建议创建伞框架 一个嵌入另一个框架的框架
  • 使用 Unity\T4\anything 进行面向方面的日志记录

    在我的应用程序中 我们有一个跟踪记录器 我们在大多数重要方法的开头和结尾添加了日志语句 用于跟踪方法名称和参数值 现在这些跟踪语句使代码变得臃肿 阅读它们有点痛苦 我正在考虑如何将代码的这方面与我的业务逻辑分开 今天在读Unity的拦截框架