[C#] trace log bestand wordt niet aangemaakt

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik probeer via onderstaande config gebruik te maken van de Trace log, maar zonder resultaat.
M'n programma draait als Windows Service met de rechten van NETWORK SERVICE.
Wat ik ook doe, er wordt geen trace log bestand aangemaakt. Heeft iemand nog suggesties.

XML:
1
2
3
4
5
6
7
8
  <system.diagnostics>
    <trace autoflush="true" indentsize="4">
      <listeners>
        <add name="TraceListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\Logs\OTS.MSMQProcessor\OTS.MSMQProcessor.txt" />

      </listeners>
    </trace>
  </system.diagnostics>


Met deze regel probeer ik een regel naar de trace log te schrijven:
C#:
1
2
  Trace.TraceInformation("informatie regel naar de trace log");
  Trace.Flush(); // heeft geen zin omdat autoflush al aan staat in de config


Hieronder omschreven wat ik tot nu toe al gedaan hebt:
  • rechten gecontroleerd op locatie waar het bestand moet worden aangemaakt: service draait als NETWORK SERVICE
  • simpelweg het logbestand naar de C-schrijf laten schrijven (geen resultaat)
  • optie "Define TRACE contstant" aanzetten in de Build opties van het project
  • trace listeren runtime aanmaken geeft ook geen positief resultaat
Ik heb echt geen flauw idee meer waar ik dit in moet zoeken.
Heeft iemand nog een suggestie?

Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • KillerZero86
  • Registratie: Mei 2010
  • Laatst online: 17-08 12:28
Ik ben zelf niet heel bedreven met je situatie, maar ik probeer even mee te denken.

Voor de TraceInformation methode heb je Listeners nodig, hier wordt de string heengeschreven en deze zorgen er dus weer voor dat het naar de harde schijf wordt geschreven. Dit maak je aan in een XML bestand, heb je al eens geprobeerd om dit gewoon in C# te scrijven? Uberhaupt begrijp ik niet precies waarom je dit hier in xml zet?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
KillerZero86 schreef op woensdag 25 juli 2012 @ 15:38:
Voor de TraceInformation methode heb je Listeners nodig, hier wordt de string heengeschreven en deze zorgen er dus weer voor dat het naar de harde schijf wordt geschreven.
En die listener (specifiek: een TextWriterTraceListener) maakt 'ie netjes aan in de daarvoor bedoelde configsection.
KillerZero86 schreef op woensdag 25 juli 2012 @ 15:38:
Dit maak je aan in een XML bestand, heb je al eens geprobeerd om dit gewoon in C# te scrijven?
Dat heeft 'ie gedaan:
Verwijderd schreef op woensdag 25 juli 2012 @ 15:31:
Hieronder omschreven wat ik tot nu toe al gedaan hebt:
  • trace listeren runtime aanmaken geeft ook geen positief resultaat
KillerZero86 schreef op woensdag 25 juli 2012 @ 15:38:
Uberhaupt begrijp ik niet precies waarom je dit hier in xml zet?
Omdat 't relevant is :? Hij post een stuk uit z'n app.config waarin je, o.a, je tracelisteners kunt configureren.

Wat betreft 't probleem van TS; ik heb zo even geen "hunch" wat 't kan zijn anders dan probeer 't eens, bij wijze van, weg te schrijven naar "D:\ergens".

[ Voor 19% gewijzigd door RobIII op 25-07-2012 15:54 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt voor het meedenken, echter de C- en D-schrijf heb ik inmiddels beide geprobeerd, maar zonder resultaat.

Nog even ter info: de XML data is inderdaad een configsection uit de config file.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
En NETWORK SERVICE heeft de benodigde rechten in C:\Logs (en alles daaronder)?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RobIII schreef op woensdag 25 juli 2012 @ 16:03:
En NETWORK SERVICE heeft de benodigde rechten in C:\Logs (en alles daaronder)?
Ja, NETWORK SERVICE heeft inderdaad de rechten om in de C:\Logs te schrijven en te wijzigen.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
...en alles daaronder? Dat was een beetje de crux namelijk van die post ;)

En als je voor de gein eens een EventLogTraceListener of een andere tracelistener gebruikt om eventuele problemen dan (tijdelijk) naar 't eventlog te kunnen schrijven voor meer informatie over je huidige probleem?

[ Voor 61% gewijzigd door RobIII op 25-07-2012 16:13 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Maak die subfolder en evt het log bestand eens aan.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • Feanathiel
  • Registratie: Juni 2007
  • Niet online

Feanathiel

Cup<Coffee>

Wellicht zou je ook willen uitsluiten dat het type een fully qualified type name moet (mag?) zijn. Vervang 'System.Diagnostics.TextWriterTraceListener' door 'System.Diagnostics.TextWriterTraceListener, System' met eventueel ook nog een versie en public key. Staan je sources/switches ook goed ingesteld? Kan zijn dat het logging level te laag staat om daadwerkelijk iets weg te schrijven. Verder zou je met .NET framework debugging aan ook in framework code moeten kunnen stappen. Lost deels ook wel eens problemen op.
Pagina: 1