2012-12-20 20 views
5

Wdrażam logowanie w mojej aplikacji przez NLog. To jest mój plik NLog.config:NLog nie loguje się za pomocą ClickOnce

<?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"> 

    <targets async="true"> 
    <target xsi:type="File" 
      name="ExceptionTarget" 
      fileName="LOG.txt" 
      layout="${date:format=dd MMM yyyy HH-mm-ss} ${uppercase:${level}} ${newline}${message} ${exception::maxInnerExceptionLevel=5:format=ToString}${newline}${stacktrace}${newline}"/> 
    </targets> 

    <targets async="true"> 
    <target xsi:type="File" 
      name="InfoTarget" 
      fileName="LOG.txt" 
      layout="${date:format=mm-ss} ${uppercase:${level}} ${newline}${message} ${newline}"/> 
    </targets> 

    <rules> 
    <logger name="*" level="Error" writeTo="ExceptionTarget"/> 
    <logger name="*" level="Info" writeTo="InfoTarget"/> 
    </rules> 
</nlog> 

Kiedy wdrożyć aplikację na zewnątrz z ClickOnce, żaden plik log.txt jest tworzony. Nie występują żadne błędy, a moja aplikacja działa normalnie, ale nic się nie dzieje.

Jak rozwiązać ten problem?

Odpowiedz

10

Instalator ClickOnce nie instaluje pliku NLog.config podczas instalacji oprogramowania, więc Twoja aplikacja nie ma konfiguracji rejestrowania.

Rozwiązanie:

  1. Można połączyć config logowania do pliku app.config.
  2. Nlog.config musi mieć: Działanie kompilacji: Zawartość i Kopiuj do katalogu wyjściowego: Kopiuj zawsze.
Powiązane problemy