2010-09-17 12 views
15

में log4net लॉग को पुनर्निर्देशित करें मेरे पास एक प्रोग्राम है जो log4net का उपयोग करता है। यह exe फ़ोल्डर में सीधे लॉग इन करता है।उपयोगकर्ता निर्देशिका

अब, जब विंडोज> XP (विस्टा, सात) के साथ स्टेशन के लिए गुजर मैंने देखा कि लॉग हमेशा नहीं बनाई गई हैं, कारण मैं उपयोगकर्ता विशेषाधिकारों और अन्य सुरक्षा सामान लगता ...

मैं अनुप्रेषित कर सके उपयोगकर्ता फ़ोल्डर में लॉग इन करता है?

\\ प्रयोक्ता नाम \ MyProgram \ लॉग्स

उत्तर

18

उदाहरण::

<appender name="LogFileAppender" type="log4net.Appender.FileAppender"> 
<file value="c:\\log-file.txt"/> 

तुम भी एक पर्यावरण चर का उपयोग कर सकते, निम्नलिखित एक TMP कहा जाता है का उपयोग करता है

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="${USERPROFILE}\MyProgramName\Logs\rolling-log-" /> 
    <appendToFile value="true" /> 
    <maxSizeRollBackups value="5" /> 
    <maximumFileSize value="100KB" /> 
    <rollingStyle value="Date" /> 
    <datePattern value="yyyy-MM-dd.'log'" /> 
    <staticLogFileName value="false" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <header value="[Log opening]&#13;&#10;" /> 
     <footer value="[Log closing]&#13;&#10;" /> 
     <conversionPattern value="%date %-5level %logger - %message%newline" /> 
    </layout> 
</appender> 

${USERPROFILE} पर्यावरण चर पर टिप्पणी करें।

+0

+1 ':) के लिए +1 – Noctis

4

हाँ आप डिफ़ॉल्ट लॉग फ़ाइल स्थान को बदल सकते हैं का कहना है। कॉन्फ़िगरेशन में file value सेटिंग बदलें। निम्नलिखित सी की जड़ में फ़ाइल कहते हैं:

config.xml की
<appender name="FileAppender" type="log4net.Appender.FileAppender"> 
    <file value="${TMP}\log-file.txt" /> 
    <appendToFile value="true" /> 
11

के बजाय ${USERPROFILE} (answer from moldovanu देखें) आप ${LOCALAPPDATA} या ${APPDATA} उपयोग कर सकते हैं। यह आपकी लॉग फ़ाइलों को उपयोगकर्ताओं AppData फ़ोल्डर (स्थानीय या रोमिंग उप फ़ोल्डर) में लिखता है।

संबंधित मुद्दे