2016-08-15 12 views
2

NLog.MongoとNLog.MongoDBを使用してログをMongoデータベースに書き込もうとしています。しかし、私は "これは無効なxsi:タイプ 'http://www.nlog-project.org/schemas/NLog.xsd:MongoDB"であるというエラーを受けています。私が使用しているコードは以下の通りです:NLogを使用してMongoデータベースにログを保存する

<?xml version="1.0" encoding="utf-8" ?> 
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" 
    autoReload="true" 
    throwExceptions="false" 
    internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log"> 

    <extensions> 
    <add assembly="NLog.MongoDB"/> 
    </extensions> 

    <targets> 
    <target xsi:type="MongoDB" name="mongo" database="NLog"> 
     <field name="timestamp" layout="${date}"/> 
     <field name="level" layout="${level}"/> 
     <field name="message" layout="${message}"/> 
    </target> 
    </targets> 

    <rules> 
    <logger name="*" minlevel="Trace" writeTo="mongo"/> 
    </rules> 
</nlog> 

私はこのエラーの解決策を探しています。起動したエラーのみ、それはNLogの認識タイプではないことを指定された

NLog xsi:type not working with custom target

Nlog with MongoDB connection and target

答えて

2

:私は、私は考えるだけのような未回答の質問を見つけたことができ、どこでも検索しました。拡張機能は実際に動作しますが、上記のコードの問題はconnectionStringを指定しないためです。私が使用して、問題を修正し

: `databaseNameの= "NLog"` `COLLECTIONNAME = "テスト"`と `/ NLog /`れたconnectionStringの全てオプションであること

<?xml version="1.0" encoding="utf-8" ?> 
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" 
    autoReload="true" 
    throwExceptions="false" 
    internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log"> 

    <extensions> 
    <add assembly="NLog.Mongo"/> 
    </extensions> 

    <targets> 
    <target xsi:type="Mongo" name="mongo" databaseName="NLog" collectionName="Test" connectionString="mongodb://localhost/NLog"/> 
    </targets> 

    <rules> 
    <logger name="*" minlevel="Trace" writeTo="mongo"/> 
    </rules> 
</nlog> 
+0

注意。除外されている場合、デフォルト値が使用されます。 (NLogはデータベース名として使用され、ログはコレクション名として使用されます)。必要な部分は単に 'connectionString =" mongodb:// localhost "' – Roars

+0

です。これはアンウォールとしてマークしてください – Julian

+0

するでしょう。 (私は明日までそれをすることはできないと言います) – Roars

関連する問題