c# - 具有自定义参数输入的企业库日志记录数据库跟踪监听器

标签 c# .net oracle enterprise-library

我在 oracle DB 中有日志表和支持存储过程,它接受以下输入并将它们提供给具有相同列的表。

PROCEDURE     SP_LOG_INSERT
   ( ProgramDate  Varchar2  ,
     ProgramName   date ,
     ProgramStatus varchar2,
     ProgramMessage varachar2(4000 Byte))

我如何使用企业 libaray 5.0 使用这些自定义参数填充表格。我看过很多在线页面,但大多数都建议创建一个新表和新存储过程我什至引用了 Alex Oliveri 的博客 here这真的很有帮助。但是我想使用现有的表和存储过程。是否可以这样做,或者我应该创建一个新表和存储过程。下面是我的 TextFormatter

<formatters>
      <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        template="Timestamp: {timestamp}{newline}&#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;Priority: {priority}{newline}&#xA;EventId: {eventid}{newline}&#xA;Severity: {severity}{newline}&#xA;Title:{title}{newline}&#xA;Machine: {localMachine}{newline}&#xA;App Domain: {localAppDomain}{newline}&#xA;ProcessId: {localProcessId}{newline}&#xA;Process Name: {localProcessName}{newline}&#xA;Thread Name: {threadName}{newline}&#xA;Win32 ThreadId:{win32ThreadId}{newline}&#xA;Extended Properties: {dictionary({key} - {value}{newline})}"
        name="Text Formatter" />
    </formatters>

enter image description here

最佳答案

您将需要创建一个知道如何记录到您的表/存储过程的自定义跟踪监听器,或者将日志记录表/存储过程修改为 Enterprise Library 期望的格式。

这是一个sample database trace listener对于 SQL 服务器。如果您决定创建自定义跟踪监听器,这对您来说可能是一个很好的起点。

此外,由于您使用的是 Oracle,因此您需要更改数据库脚本(因为它是特定于 SQL Server 的)。 Ultimate guide for Enterprise Library 5.0 Application Logging Block using Oracle 11g是一篇关于使用 Oracle 设置数据库日志记录的好博文。

关于c# - 具有自定义参数输入的企业库日志记录数据库跟踪监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26999420/

相关文章:

c# - 在LINQ中应用任意数量的OrderBy()

oracle - 如何使用 dbms_scheduler 安排工作在特定时间运行

c# - 如何在非自托管的 WCF 服务库中执行初始化?

c# - C# 中 regex.unescape 的替代方案,用于引号 (")

mysql - 将 Oracle 查询转换为 MySQL 查询。所有索引

sql - 使用查询插入,并添加默认值

c# - .Net Core 应用程序中缺少 NativeCallableAttribute

c# - 对话框不适用于 SAP Business One 附加组件

c# - White UI Automation库如何使用CaSTLe DynamicProxy?

c# - 将字符串拆分为字典作为键,列表