NLog输出到pg数据库

对于 NLog 输出到 PostgreSQL 数据库,您需要使用 dbProvider 参数来指定使用的数据库提供程序。以下是更新后的示例 NLog.config 文件:




  
    
  

  
    
      ${configsetting:name=NLog.Connections.Default}
      
        INSERT INTO Log (LogLevel, Message, Exception, Logger, CallSite, CreatedAt) 
        VALUES (@logLevel, @message, @exception, @logger, @callSite, @createdAt)
      
      
      
      
      
      
      
    
  

  
    
  

请注意,更新后的示例中添加了 extensions 节点,并且在 target 元素的 dbProvider 属性中使用了 Npgsql.NpgsqlConnection

确保在 appsettings.json 文件中正确配置 PostgreSQL 连接字符串,并使用包含 NLog.Connections.Default 键的配置。例如:

"NLog": {
  "Connections": {
    "Default": "Server=localhost;Port=5432;Database=YourDatabase;User Id=YourUsername;Password=YourPassword;"
  }
}

请根据您的数据库设置自行更改连接字符串的值。

Log表的脚本:

CREATE TABLE Log (
    Id SERIAL PRIMARY KEY,
    LogLevel VARCHAR(20) NOT NULL,
    Message TEXT NOT NULL,
    Exception TEXT,
    Logger VARCHAR(255),
    CallSite VARCHAR(255),
    CreatedAt TIMESTAMP NOT NULL
);

dbProvider:

PostgreSQL: Npgsql
MySQL: MySql.Data.MySqlClient
Microsoft SQL Server: System.Data.SqlClient
Oracle: Oracle.ManagedDataAccess.Client

你可能感兴趣的:(C#,NLog,.net,core)