678 messaggi dal 12 maggio 2001
www.idioteca.it
bell'articolo, ma invece esistono log open-source che consentano di memorizzare le operazioni effettuate da un utente?
Capisco che siano cose molto legate alla singola applicazione, ma poter avere un sistema, magari autonomo e slegato dall'applicazione, che consenta di memorizzare quando l'utente è entrato in una schermata, se ha visionato un file particolare, se ha tentato di modificare qualcosa... potrebbe essere un sistema che interessa i clienti più del log descritto in questo articolo che invece è utilissimo per gli sviluppatori.
ciao
Certo che esistono e i framework che ho riportato nell'articolo possono essere utilizzati anche per fare il trace di quello che fa l'utente (uno dei livelli di criticità è proprio Trace). Loggare le eccezioni è solo una casistica pratica di utilizzo.

Ovviamente il tracciamento va gestito opportunemente nel codice, inserendo la scrittura del log unitamente all'azione svolta, magari in un database o in un altro sistema di storage come l'event log di Windows. Nulla toglie di utilizzare log4net unitamente a un framework AOP come Spring.NET e lavorare in modo dichiarativo tramite attributi sui metodi invocati.

Attenzione però a non inflazionare un'applicazione di operazioni di logging, occorre sempre trovare il giusto compromesso onde evitare di disperdere forza di calcolo in azioni non direttamente collegate al flusso di esecuzione principale.

Peraltro, tieni presente che il logging (di eccezioni e quant'altro) non è utile solo per chi sviluppa, come dici tu. In produzione è indispensabile anche e soprattutto per il supporto e per chi gestisce il deployment e i server. Parlo per esperienza su applicazioni che gestiscono centinaia di migliaia di richieste all'ora. Senza un sistema del genere in produzione saresti "morto"...

Ciao, Ricky.
Modificato da rickyvr il 17 maggio 2012 13.49 -

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
1 messaggio dal 27 maggio 2012
sono molto d'accordo ,nella gestione richieste utenti è utile e indispensabile.
1 messaggio dal 22 marzo 2012
Salve,
sto usando nella configurazione di Log4Net un AdoNetAppender:
dovendo memorizzare in db messaggi molto lunghi (>4000 byte)- lavoro su Oracle 11 - vorrei utilizzare in db un campo clob.
Detto questo non saprei come fare il logging,in quanto finora avevo usato una configurazione simile a quella che riporto di seguito.
Ora ho un problema che riguarda il parametro message....:

<appender name="AdoNetAppender_Oracle"
type="log4net.Appender.AdoNetAppender">
<connectionType value="System.Data.OracleClient.OracleConnection,
System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" />
<connectionString value="User ID=LAST;Password=llast;Data Source=ORCL" />

<commandText value="INSERT INTO T_LO_WSLOG (ID, LO_DATE, LO_THREAD,
LO_LEVEL, LO_LOGGER, LO_MESSAGE, LO_EXCEPTION, VERSIONE) VALUES
(SEQ_T_LO_LOG.nextval, :lo_date, :lo_thread, :lo_level,
:lo_logger,TO_CLOB( :lo_message), :lo_exception, 0)" />
<bufferSize value="128" />

<parameter>
<parameterName value=":lo_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawTimeStampLayout" />
</parameter>

<parameter>
<parameterName value=":lo_thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread" />
</layout>
</parameter>

<parameter>
<parameterName value=":lo_level" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level" />
</layout>
</parameter>

<parameter>
<parameterName value=":lo_logger" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>

<parameter>
<parameterName value=":lo_message" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>

<parameter>
<parameterName value=":lo_exception"/>
<dbType value="String"/>
<size value="2000"/>
<layout type="log4net.Layout.ExceptionLayout"/>
</parameter>
</appender>

grazie Cris
Modificato da e90096e il 06 marzo 2013 09.10 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.