Skriva till fil i windows service.

Permalänk
Medlem

Skriva till fil i windows service.

Hallå!

Håller på att konvertera mina console-program till tjänster, debug-fasen är över så jag tänkte göra dem till tjänster för enklare administration.
Har kommit en bit och det mesta verkar fungera förutom att skriva till textfiler som programmet till stor del ska göra. Dels för loggning sedan för återrapportering.

Har gjort så programmet kan köras i consoll-läge utan några modifikationer, eller installera som en tjänst.
När jag kör det i vanligt applikationsläge fungerar allt utmärkt, men kör jag som en tjänst skriver inte programmet längre till en fil.

Har googlat på fenomenet men har inte fått fram något vettigt.

TextWriter loggwriter = new StreamWriter("logg\\LOG" + nowdate + ".log", true, Encoding.GetEncoding(1252)); loggwriter.WriteLine(formattime + ": " + loggtext); loggwriter.Close();

Det är ju ganska basic-stanadard kod utan speciallösning..

Visa signatur

K#

Permalänk
Medlem

Hittade lösningen.
Kanske kan vara till nytta för någon nångång.
Problemet var att en tjänst har startuppath till system32-katalogen, medans programmet hade den faktiska uppstartsmappen.
Åtgärd:

TextWriter loggwriter = new StreamWriter(Application.StartupPath+"\\logg\\LOG" + nowdate + ".log", true, Encoding.GetEncoding(1252));

Visa signatur

K#

Permalänk
Medlem

Praxis vid utveckling av windows services är att loggning sker till windows event log (event viewer). Använd den istället för att logga till textfiler i alla fall avseende loggningen...

Skrivet av atman:

Hallå!

Håller på att konvertera mina console-program till tjänster, debug-fasen är över så jag tänkte göra dem till tjänster för enklare administration.
Har kommit en bit och det mesta verkar fungera förutom att skriva till textfiler som programmet till stor del ska göra. Dels för loggning sedan för återrapportering.

Har gjort så programmet kan köras i consoll-läge utan några modifikationer, eller installera som en tjänst.
När jag kör det i vanligt applikationsläge fungerar allt utmärkt, men kör jag som en tjänst skriver inte programmet längre till en fil.

Har googlat på fenomenet men har inte fått fram något vettigt.

TextWriter loggwriter = new StreamWriter("logg\\LOG" + nowdate + ".log", true, Encoding.GetEncoding(1252)); loggwriter.WriteLine(formattime + ": " + loggtext); loggwriter.Close();

Det är ju ganska basic-stanadard kod utan speciallösning..

Visa signatur

foto{5d/400d | canon 24-70 2.8L | canon 18-55 3.5-5.6 |sigma 70-300 4.0-5.6 | canon 50 1.4 | speedlite 430ex}
dator{Dell Optiplex 780 SFF}