2010-05-14 2 views

Répondre

3

Oui, vous pouvez le faire. Créer deux appenders fichiers (roulant) dans votre configuration, puis configurer vos enregistreurs comme ceci:

<appender name="FileAppenderWebservice1" type="log4net.Appender.RollingFileAppender"> 
    <file value="c:\logs\webservice1.txt" /> 
    ... 
</appender> 

<appender name="FileAppenderWebservice2" type="log4net.Appender.RollingFileAppender"> 
    <file value="c:\logs\webservice2.txt" /> 
    ... 
</appender> 

<root> 
    <level value="ALL" />    
</root> 
<logger name="YourNameSpace.Webservice1Class"> 
    <appender-ref ref="FileAppenderWebservice1" /> 
</logger> 
<logger name="YourNameSpace.Webservice2Class"> 
    <appender-ref ref="FileAppenderWebservice2" /> 
</logger> 

Cela nécessite que vous créez un enregistreur par webservice comme ceci:

ILog logger = LogManager.GetLogger(typeof(WebserviceClass)); 
+0

une correction serait le nom de l'enregistreur semble être le nom de ma classe wrapper d'enregistrement sans un espace de noms. –

-1

Que diriez-vous de mettre la config log4net dans un web.config plus local au service Web.

+0

question mise à jour! –

0

Je pense que vous trouverez peut-être votre réponse ici Change log file

<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" > 
    <file type="log4net.Util.PatternString" 
     value="%envFolderPath{CommonApplicationData}\\test.txt" /> 
    ... 
</appender> 
Questions connexes