J'essaie de faire un petit pic et je n'arrive pas à générer le fichier journal.NLog ne lit pas mes paramètres app.config dans une application console
Ceci est ma configuration NLog:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.4.0" newVersion="3.2.4.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<nlog throwExceptions="true"
internalLogLevel="Warning"
internalLogFile="Rebus.Tests.Output.NLog.Internal.log"
internalLogToConsole="true"
xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="normalLogfile" type="File" fileName="${basedir}/Rebus.Tests.Output.log" />
<target name="normalConsole" type="Console" detectConsoleAvailable="true" />
</targets>
<rules>
<logger name="NormalLog" minlevel="Trace" writeTo="normalLogfile, normalConsole" />
</rules>
</nlog>
</configuration>
Et voici mon statique principal dans la console Application:
var logger = LogManager.GetLogger("NormalLog");
logger.Error("This is a log error line");
Mais rien est enregistré ni LogFile ni console. Le application.exe.config
se trouve dans le dossier bin/Debug runtime. Et je cherche le fichier journal avec SearchEverything afin qu'il trouve dans n'importe quel dossier où il est.
Ajout des informations à cette question si je mets un point d'arrêt pour inspecter la variable logger
je ne vois aucune configuration a été lu:
Même comportement: l'enregistreur est vide. Quoi qu'il en soit, je pense que la chaîne 'named logger' dans la méthode' GetLogger' est un nom de règle dans config.file. – ferpega
Selon le document NLog, vous devez utiliser le nom du Logger lorsque vous utilisez la méthode 'GetLogger'. Avez-vous essayé de supprimer les attributs nlog de votre app.config? Juste pour être sûr qu'aucun d'eux n'est le problème. –
C'était le problème @mightybdaboom Les attributs Nlog. Certains d'entre eux ne doivent pas être supportés et invalident toute la configuration de NLog. S'il vous plaît, mettez cela comme réponse pour le marquer. Merci. – ferpega