2009-06-17 28 views
39

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> 

Trả lời

66

Hãy thử đặt sau trong thẻ nlog của bạn:

<nlog throwExceptions="true" internalLogFile="c:\nlog.txt" internalLogLevel="Debug" /> 

Điều đó có thể giúp xác định những gì vấn đề là

+10

$ {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. –

6

NLog cho phép ghi nhật ký bên trong khung.

Bật "debug level for your internal logging" cho NLog và xem điều gì đang xảy ra.

+0

link chết nhưng tôi thấy hữu ích này https://github.com/NLog/NLog/ wiki/Internal-Logging – Fuzzybear

Các vấn đề liên quan