Come fare il login nell'applicazione console [chiuso]

-1

Ho una semplice applicazione per console che verrà distribuita come lavoro programmato. Di seguito è riportato il suo pseudo codice

Main(string[] args)
{
    //get xml string from database
    Reports reports = ReportsDB.GetReport(args[0].ToString());

    //Generate xml file using xmwriter

    //post the file to sftp site
}

Mi chiedevo come includere la funzionalità di registrazione per questo lavoro. Inoltre, sarà sufficiente utilizzare un writer di testo per scrivere su un file di testo ogni volta che viene eseguito o utilizzare librerie come log4net

Modifica

Dovrei essere in grado di registrare l'esecuzione del lavoro come l'ora di inizio, le informazioni di debug, ecc. che saranno per me stesso.

    
posta Sunny 13.08.2013 - 17:18
fonte

2 risposte

10

In primo luogo, in generale la risposta è "nello stesso modo in cui eseguiresti l'accesso a qualsiasi altra applicazione."

Raccomando vivamente di utilizzare qualcosa come log4net o nlog piuttosto che eseguire il rollover utilizzando un TextWriter per una serie di motivi:

  • Ci sono grandiose opzioni gratuite là fuori che probabilmente porteranno a scrivere e mantenere meno codice - solo rendendo la registrazione come target un'opzione di configurazione vale il prezzo dell'ammissione da sola.
  • Le grandiose opzioni gratuite sono molto performanti - il logging è facile finché non si entra in "come faccio a registrarlo senza bloccare l'esecuzione?"
  • Le grandiose opzioni gratuite sono molto affidabili - la registrazione è facile fino a quando non entri in "come faccio a essere sicuro che questa eccezione fatale che ha ucciso il programma venga scaricata nel log?"
risposta data 13.08.2013 - 17:39
fonte
3

Risposta breve: esistono diversi approcci per abilitare la registrazione nell'ambiente C # .NET. Per l'ambiente aziendale è meglio utilizzare un framework di registrazione come Log4Net, NLog, logger, ecc.

Il modo più rapido sarebbe quello di accedere a un semplice metodo Logger in un semplice file di testo . Come in un semplice esempio fornito di seguito:

private static void Logger(String lines)
{    
 // Write the string to a file.append mode is enabled so that the log
 // lines get appended to  test.txt than wiping content and writing the log

  using (var sw = new StreamWriter("c:\test.txt",true))
     {
       file.WriteLine(lines);
     }
}

Potresti cercare ulteriori dettagli in MSDN .

Nota: si consiglia vivamente di utilizzare un approccio più robusto (framework di registrazione + DB) se si sta tentando di registrare i problemi di un'applicazione commerciale.

References:

risposta data 13.08.2013 - 18:06
fonte

Leggi altre domande sui tag