Avatar billede redeeman Nybegynder
11. juli 2005 - 08:01 Der er 5 kommentarer

log stdout til fil i .net 1.1 (skal konverteres fra min 2.0 impl)

hey, jeg har lavet et program som logger stdout og stderr fra en process jeg starter, til en fil, men jeg er mest kendt i .net 2.0 klasselibrary'et, men dette skal køre på mono på linux, og der er den klasse jeg bruger endnu ikke implementeret i 2.0 library'et som er under udvikling, derfor bliver jeg nødt til at få refaktoreret, men jeg kan ikke finde nogle eksempler med google...

koden ligger på http://kaspersandberg.com/~redeeman/netcode_2_0.txt

jeg har også:
using System;
using System.IO;
using System.Diagnostics;
using System.Net;
using System.Threading;

svar venligst hurtigt :)

tak

btw, hvis det hjælper på hastigheden, åbner jeg gerne en mere når det er løst, og giver 200 flere point
Avatar billede redeeman Nybegynder
11. juli 2005 - 09:35 #1
jeg ved godt jeg er utålmodig, men jeg mangler det virkelig :)

jeg vil give 1000 points for det, jeg oprette bare 5 spørgsmål med det her, når jeg har fået et svar
Avatar billede jzip Nybegynder
11. juli 2005 - 19:08 #2
Hej redeeman

Følgende kode logger stdout og stderr fra en process til en fil, virker 100% på .net 1.1 :-)

ProcessStartInfo info = new ProcessStartInfo();
info.RedirectStandardOutput = true;
info.RedirectStandardError = true;
info.FileName = MIN_FIL;
info.Arguments = MINE_ARGUMENTER;
info.WorkingDirectory = WORK_DIR;
info.UseShellExecute = false;           
Process prc = new Process();
prc.StartInfo = info;
prc.Start();   
StreamReader readerOut = prc.StandardOutput;
StreamReader readerErr = prc.StandardError;
string output = readerOut.ReadToEnd();
readerOut.Close();
string error = readerErr.ReadToEnd();
readerErr.Close();
StreamWriter writer = new StreamWriter(File.OpenWrite(MIN_LOGFIL));
writer.WriteLine("---ERROR---");
writer.WriteLine(error);
writer.WriteLine("---OUTPUT---");
writer.WriteLine(output);
writer.Close();
Avatar billede dna Nybegynder
12. juli 2005 - 19:47 #3
redeeman: Det er ikke tilladt at give mere end 200 point. Heller ikke ved at oprette flere spørgsmål... selvom det nogen gange kunne være rart! :)

dna
Avatar billede Syska Mester
18. juli 2005 - 20:57 #4
Hvis du er så utålmodig, kan du vel også tage dig lidt tid til at acceptere....

// ouT
Avatar billede redeeman Nybegynder
25. juli 2005 - 14:50 #5
undskyld jeg ikke har svaret indtilvidere, men jeg fiksede selv en del før.. btw, det du gør der, ser ikke ud til at være det jeg har brug for, nonetheless accepterer jeg, fordi jeg ikke selv skrev ordentlig beskrivelse, men måske du kan hjælpe alligevel..

det jeg ser som problem ved dit, er at den ikke logger løbende, og derfor kan stdout og stderr bufferen blive fyldt, og så fryser programmet, sådan som jeg gjorde det, er med 2 threads, men det ville jeg gerne undvære, så hvis det der kan modifiseres til at gøre det samme, vil jeg gerne.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester