123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- using System.Xml;
- namespace Wayne.Lib.Log
- {
-
-
-
- public class LogConfigTextFileMaxSize
- {
- #region Properties
-
-
-
- public long MaxSizePerFile { get; set; }
-
-
-
- public int MaxFileCircleCount { get; set; }
-
-
-
- public int MaxDays { get; set; }
-
-
-
- public bool CleanOnStartup { get; set; }
- #endregion
- #region Construction
-
-
-
-
- public LogConfigTextFileMaxSize(long? maxSizePerFileMb)
- : this(maxSizePerFileMb, 1)
- {
- }
-
-
-
-
-
- public LogConfigTextFileMaxSize(long? maxSizePerFileMb, int maxFileCircleCount)
- : this(maxSizePerFileMb, 1, 1, false)
- {
- }
-
-
-
-
-
-
-
- public LogConfigTextFileMaxSize(long? maxSizePerFileMb, int maxFileCircleCount, int maxDays, bool cleanOnStartup)
- {
- if (maxSizePerFileMb.HasValue)
- MaxSizePerFile = maxSizePerFileMb.Value * 1024 * 1024;
- else
- MaxSizePerFile = long.MaxValue;
- MaxFileCircleCount = maxFileCircleCount;
- MaxDays = maxDays;
- CleanOnStartup = cleanOnStartup;
- }
-
-
-
-
- internal LogConfigTextFileMaxSize(XmlNode maxSizeElement)
- {
- int? maxSizePerFileMb = null;
-
- MaxSizePerFile = long.MaxValue;
- MaxFileCircleCount = 1;
- MaxDays = 7;
- CleanOnStartup = false;
- XmlAttribute maxSizePerFileMbAttribute = maxSizeElement.Attributes["MaxSizePerFileMb"];
- if ((maxSizePerFileMbAttribute != null) && (maxSizePerFileMbAttribute.Value != "unlimited"))
- maxSizePerFileMb = XmlConvert.ToInt32(maxSizePerFileMbAttribute.Value);
- else
- maxSizePerFileMb = null;
- if (maxSizePerFileMb.HasValue)
- MaxSizePerFile = maxSizePerFileMb.Value * 1024 * 1024;
- else
- MaxSizePerFile = long.MaxValue;
- XmlAttribute maxFileCircleCountAttribute = maxSizeElement.Attributes["MaxFileCircleCount"];
- if (maxFileCircleCountAttribute != null)
- MaxFileCircleCount = XmlConvert.ToInt32(maxFileCircleCountAttribute.Value);
- else
- MaxFileCircleCount = 1;
- XmlAttribute maxDaysAttribute = maxSizeElement.Attributes["MaxDays"];
- if (maxDaysAttribute != null)
- MaxDays = XmlConvert.ToInt32(maxDaysAttribute.Value);
- XmlAttribute cleanOnStartupAttribute = maxSizeElement.Attributes["CleanOnStartup"];
- if (cleanOnStartupAttribute != null)
- CleanOnStartup = XmlConvert.ToBoolean(cleanOnStartupAttribute.Value);
- }
- #endregion
- #region Methods
-
-
-
-
- internal void WriteXml(XmlWriter xmlWriter)
- {
- xmlWriter.WriteStartElement("MaxSize");
- if (MaxSizePerFile == long.MaxValue)
- xmlWriter.WriteAttributeString("MaxSizePerFileMb", "unlimited");
- else
- xmlWriter.WriteAttributeString("MaxSizePerFileMb", XmlConvert.ToString(MaxSizePerFile / 1024 / 1024));
- if (MaxFileCircleCount > 1)
- xmlWriter.WriteAttributeString("MaxFileCircleCount", XmlConvert.ToString(MaxFileCircleCount));
- if (MaxDays > 0)
- xmlWriter.WriteAttributeString("MaxDays", XmlConvert.ToString(MaxDays));
- if (CleanOnStartup)
- xmlWriter.WriteAttributeString("CleanOnStartup", XmlConvert.ToString(CleanOnStartup));
- xmlWriter.WriteEndElement();
- }
- #endregion
- }
- }
|