Salve...

non riesco proprio a raccapezzarmi con l'uso degli streamwriter.

Devo creare un file di log che mi tracci ogni operazione effettuata dalla mia applicazioncina Console [c#].

Dichiarazione:
Filestream fs_log = null;
StreamWriter sw = null;

Indico la stringa che rappresenta il percorso del file di log:
string logFile = ConfigurationManager.AppSettings["log"] + "log.txt";

All'interno dell'applicazione, poi, istanzio i 2 stream:
fs_log = new FileStream(logFile, FileMode.Create, FileAccess.ReadWrite);
sw = new StreamWriter(fs_log);
sw.AutoFlush = true;

Fin qui non credo di commettere errori. Dato che devo scrivere periodicamente su questo file di log, in modo da tener traccia di ogni operazione compiuta dalla mia applicazione, ogni volta che compio la scrittura uso questa sintassi:
(ricorrente):

using(fs_log)
{
sw.WriteLine("Operazione X effettuata");
sw.Dispose();
}

Tale scrittura avviene più volta nel programma (ma comunque cambiano le modalità, quindi non posso implementare una subroutine) quindi spesso uso questa sintassi.

Ebbene, nel file di log mi viene scritta solo l'ultima operazione effettuta...come se sovrascrivesse ogni volta il file...

Qualcuno mi può aiutare???
PS: A fine programma uso anche il close ed il dipose sullo streamwriter, ma non so quanto possa esser utile...

Grazie a tutti!

EDIT: congiuntivi!