2012-05-04 17 views
5

के साथ लॉग फ़ाइलों को संपीड़ित करने के लिए मैं अपनी परियोजनाओं में से एक में एनएलओजी का उपयोग कर रहा हूं और मैं फ़ाइलों को संपीड़ित करने का प्रयास कर रहा हूं। मैंने संपीड़ित फ़ाइल विशेषता का उपयोग करने का प्रयास किया, लेकिन जब मैं फ़ाइलों को देखता हूं, तो वे संपीड़ित नहीं होते हैं।एनएलओजी

क्या आप कृपया मुझे बता सकते हैं कि मैं क्या गलत कर सकता हूं?

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

    <targets> 
     <target name="file" xsi:type="File" fileName="C:\Workspaces\log.xml" 
       layout="${message}" keepFileOpen="true" 
       archiveFileName = "C:\Workspaces\archived\log.{#####}.xml" 
       archiveAboveSize = "1048576" archiveNumbering = "Sequence" 
       fileAttributes="Compressed" concurrentWrites = "true"/> 
    </targets> 

    <rules> 
     <logger name ="*" minlevel="Debug" writeTo="file" /> 
    </rules> 
</nlo 

जी>

+1

ड्राइव पर फ़ाइल संपीड़न सक्षम है? कुछ सामग्री के साथ एक सामान्य फ़ाइल बनाएं, प्रतिलिपि बनाएं और फिर इस प्रति को संपीड़ित के रूप में चिह्नित करें - दोनों के फ़ाइल आकार की तुलना करें। –

+0

यह ओएस के माध्यम से एक समाधान की तरह लगता है, लेकिन जिस समाधान को मैं ढूंढ रहा हूं वह नहीं। उदाहरण दिया गया: यदि मैं उस फ़ाइल को किसी अन्य सिस्टम में ले जाना चाहता हूं, तो क्या यह अभी भी संपीड़ित होगा? – SysCoder

+0

यह एक रिपोर्ट की गई बग प्रतीत होता है, [आप गिट-हब में टिप्पणी कर सकते हैं] (https://github.com/NLog/NLog/issues/244) ताकि वे इस मुद्दे को और अधिक प्राथमिकता दे सकें –

उत्तर

4
NLog 4 के साथ

(नेट 4.5+) आप फ़ाइलें ज़िप करने सेक कर सकते हैं:

यह मेरा config है। the NLog 4.0 release post

enableArchiveFileCompression का उपयोग करें, उदा।

<target name="file" xsi:type="File" 
     layout="${longdate} ${logger} ${message}" 
     fileName="${basedir}/logs/logfile.txt" 
     archiveFileName="${basedir}/archives/log.{#}.txt" 
     archiveEvery="Day" 
     archiveNumbering="Rolling" 
     maxArchiveFiles="7" 
    enableArchiveFileCompression="true" /> 
संबंधित मुद्दे