NLog到PostgreSQL连接

NLog到PostgreSQL连接,postgresql,nlog,Postgresql,Nlog,我在通过NLog连接postgres数据库时遇到问题。 我使用以下查询创建了数据库: CREATE TABLE system_logging ( ID serial primary key, entered_date date default Now(), log_application varchar(200) NULL, log_date character varying(100) NULL, log_level character varying(100) NULL, log_l

我在通过NLog连接postgres数据库时遇到问题。

我使用以下查询创建了数据库:

CREATE TABLE system_logging
( 
ID serial primary key,
entered_date date default Now(),
log_application varchar(200) NULL, 
log_date character varying(100) NULL, 
log_level character varying(100) NULL, 
log_logger character varying(8000) NULL, 
log_message character varying(8000) NULL, 
log_machine_name character varying(8000) NULL, 
log_user_name character varying(8000) NULL, 
log_call_site character varying(8000) NULL, 
log_thread character varying(100) NULL, 
log_exception character varying(8000) NULL, 
log_stacktrace character varying(8000) NULL 
)
我的连接目标定义为:

<target name="database" xsi:type="Database"
         connectionString="Server=127.0.0.1;Port=5432;User Id=test;Password=t;Database=Test;">
      <commandText>Insert into "system_logging" ("log_date","log_level","log_logger","log_message","log_machine_name","log_user_name","log_call_site","log_thread","log_exception","log_stacktrace") values (:time_stamp,:level,:logger,:message,:machinename,:user_name,:call_site,:threadid,:log_exception,:stacktrace)</commandText>

   <parameter name="@time_stamp" layout="${longdate}"/> 
  <parameter name="@level" layout="${level}"/> 
  <parameter name="@logger" layout="${logger}"/> 
  <parameter name="@message" layout="${message}"/> 
  <parameter name="@machinename" layout="${machinename}"/> 
  <parameter name="@user_name" layout="${windows-identity:domain=true}"/> 
  <parameter name="@call_site" layout="${callsite:filename=true}"/>

  <parameter name="@threadid" layout="${threadid}"/> 
  <parameter name="@log_exception" layout="${exception}"/> 
  <parameter name="@stacktrace" layout="${stacktrace}"/>
</target>  

在“系统日志记录”(“日志日期”、“日志级别”、“日志记录器”、“日志消息”、“日志机器名称”、“日志用户名”、“日志调用站点”、“日志线程”、“日志异常”、“日志堆栈跟踪”)中插入值(:time\u stamp,:level,:logger,:message,:machinename,:user\u name,:call\u site,:threadid,:log\u exception,:stacktrace)

于是我继续搜索并得到了答案:

 <target name="database" type="Database"> 
    <dbProvider>
        Npgsql.NpgsqlConnection,Npgsql,Version=3.0.3.0,Culture=neutral,PublicKeyToken=5d8b90d52f46fda7
    </dbProvider>
    <connectionString> 
        Server=127.0.0.1;Port=5432;User Id=postgres;Password=postgres;Database=sample;
    </connectionString> 
    <commandText> 
        insert into system_logging(log_date,log_level,log_logger,log_message,log_machine_name, log_user_name, log_call_site, log_thread, log_exception, log_stacktrace) values(@time_stamp, @level, @logger, @message,@machinename, @user_name, @call_site, @threadid, @log_exception, @stacktrace); 
    </commandText> 
    <parameter name="@time_stamp" layout="${longdate}"/> 
    <parameter name="@level" layout="${level}"/> 
    <parameter name="@logger" layout="${logger}"/> 
    <parameter name="@message" layout="${message}"/> 
    <parameter name="@machinename" layout="${machinename}"/> 
    <parameter name="@user_name" layout="${windows-identity:domain=true}"/> 
    <parameter name="@call_site" layout="${callsite:filename=true}"/>
    <parameter name="@threadid" layout="${threadid}"/> 
    <parameter name="@log_exception" layout="${exception}"/> 
    <parameter name="@stacktrace" layout="${stacktrace}"/>
</target> 

Npgsql.NpgsqlConnection,Npgsql,版本=3.0.3.0,区域性=neutral,PublicKeyToken=5d8b90d52f46fda7
服务器=127.0.0.1;端口=5432;用户Id=postgres;密码=postgres;数据库=样本;
在系统日志(日志日期、日志级别、日志记录器、日志消息、日志机器名称、日志用户名、日志调用站点、日志线程、日志异常、日志堆栈跟踪)中插入值(@time\u stamp、@level、@logger、@message、@machinename、@user\u name、@call\u site、@threadid、@log\u exception、@stacktrace);