Il documenation è semplice:
file di: il percorso completo o relativo al file di registro.
Quindi tutto quello che dovete avere è il percorso completo come C:\physicalpath\LOG\Log.log
o quello ralative, questo deve iniziare con il dot char.
come .\App_Data\Log4Net.Logs
è anche possibile utilizzare il nome della cartella in l'attributo file
, quindi è necessario utilizzare l'attributo datePattern
per specificare il nome del file, ad esempio:
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<file value=".\\App_Data\\Log4Net.Logs\\backend"/>
<datePattern value=".yyyy-MM-dd'.log'"/>
<appendToFile value="true"/>
<maximumFileSize value="256KB"/>
<maxSizeRollBackups value="2"/>
<rollingStyle value="Date"/>
<staticLogFileName value="false"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level %thread %logger - %message%newline"/>
</layout>
</appender>
Ricordo anche per aggiungere il
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
modo da poter evitare che log4net
bloccare il file e non si può usato per aggiungere i tuoi messaggi.
Se non siete abituati a log4net
, non dimenticare di aggiungere il nodo <root>
, questo è il quello che cerchiamo di log4net
sapere quello che si desidera utilizzare e non le <appender>
nodi, per esempio, si può avere 10 <appender>
nodi e utilizzare solo uno, il nodo <root>
viene quindi configurato solo con quello che si desidera utilizzare ...
ecco un configurazione completa con 2 Mongo appenders e 1 file Appender, il <root>
specifica che solo il file appender è in uso:
<log4net>
<appender name="MongoAppender" type="log4net.Appender.MongoDBAppender, log4mongo-net">
<!-- MongoDB 1 connection options -->
<host value="staff.mongohq.com"/>
<port value="10077"/>
<databaseName value="myApp_2011"/>
<collectionName value="logs_net"/>
<userName value="myself"/>
<password value="123456"/>
</appender>
<appender name="MongoAppenderAppHarbor" type="log4net.Appender.MongoDBAppender, log4mongo-net">
<!-- MongoDB 2 connection options -->
<host value="staff.mongohq.com"/>
<port value="10048"/>
<databaseName value="d1741d63-46b1-4a44-9c49-8c28cecae36b"/>
<collectionName value="logs_net"/>
<userName value="myself"/>
<password value="123456"/>
</appender>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<!-- Local file options -->
<file value=".\\App_Data\\Log4Net.Logs\\backend"/>
<datePattern value=".yyyy-MM-dd'.log'"/>
<appendToFile value="true"/>
<maximumFileSize value="256KB"/>
<maxSizeRollBackups value="2"/>
<rollingStyle value="Date"/>
<staticLogFileName value="false"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level %thread %logger - %message%newline"/>
</layout>
</appender>
<root>
<!--
<level value="DEBUG" />
<appender-ref ref="MongoAppender" />
<appender-ref ref="MongoAppenderAppHarbor" />
-->
<appender-ref ref="FileAppender"/>
</root>
</log4net>
Se si accede a una cartella all'interno dell'applicazione, tenere presente che un utente malintenzionato può visualizzare il contenuto o f questa cartella con un po 'di congetture e visualizzare informazioni sensibili sulla tua app. O rendere la cartella non visualizzabile in Gestione IIS (rimuovere i permessi di lettura), o mettere la cartella fuori dalla web root. –