Tôi đang cố gắng để NLog đăng nhập vào bảng nhật ký cơ sở dữ liệu của mình nhưng không có kết quả. Tôi chắc rằng chuỗi kết nối của tôi là chính xác vì nó được sử dụng ở nơi khác trong web.config của tôi. Viết ra một tập tin hoạt động tốt, vì vậy tôi biết nó không chỉ NLog, nhưng phải là một cái gì đó tôi đang làm sai. Dưới đây là cấu hình NLog của tôi:Làm cách nào để NLog ghi vào cơ sở dữ liệu
<!-- NLOG CONFIGURATION -->
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="file" xsi:type="File" fileName="${basedir}/logs/Log ${shortdate}.txt" layout="${longdate} ${callsite} ${level}: ${message} ${exception:format=Message,StackTrace} ${stacktrace}" />
<target type="Database" name="database" connectionstring="MyConnectionString">
<commandText>
insert into MyLog ([CreateDate], [Origin], [LogLevel], [Message], [Exception], [StackTrace]) values (@createDate, @origin, @logLevel, @message, @exception, @stackTrace);
</commandText>
<parameter name="@createDate" layout="${longdate}"/>
<parameter name="@origin" layout="${callsite}"/>
<parameter name="@logLevel" layout="${level}"/>
<parameter name="@message" layout="${message}"/>
<parameter name="@exception" layout="${exception:format=Message,StackTrace}"/>
<parameter name="@stackTrace" layout="${stacktrace}"/>
</target>
</targets>
<rules>
<logger name="*" writeTo="file"/>
<logger name="*" appendTo="database"/>
<!--<logger name="*" writeTo="mail" minlevel="Error"/>-->
</rules>
</nlog>
$ {longdate} là một chuỗi mà tôi đang cố gắng chèn vào trường datetime. Thay đổi thành $ {date} đã thực hiện thủ thuật. –