我在使用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>