Пример #1
0
        /// <summary>
        /// 获得一个文件输出的Appender
        /// </summary>
        /// <remarks>
        /// 这里不允许直接创建的原因是为了防止多个Appender对同一个文件做访问
        /// 在初始化的时候,必须先提供一个日志文件,内部会检查这个日志文件的Appender是否已经创建过
        /// 如果创建过则返回已经创建过的对象重用
        /// </remarks>
        /// <param name="fileName"></param>
        /// <returns></returns>
        public static FileAppender GetAppender(string fileName)
        {
            if (s_appenderMap.ContainsKey(fileName))
                return s_appenderMap[fileName];

            var ret = new FileAppender();
            s_appenderMap[fileName] = ret;

            ret.fileName = fileName;

            var dir = new FileInfo(fileName).Directory;
            if (dir == null)
                return null;

            if (!dir.Exists)
            {
                try
                {
                    dir.Create();
                }
                catch (Exception ex)
                {
                    Logs.Error(ex.ToString());
                    return null;
                }
            }

            return ret;
        }
Пример #2
0
        /// <summary>
        /// 获得一个文件输出的Appender
        /// </summary>
        /// <remarks>
        /// 这里不允许直接创建的原因是为了防止多个Appender对同一个文件做访问
        /// 在初始化的时候,必须先提供一个日志文件,内部会检查这个日志文件的Appender是否已经创建过
        /// 如果创建过则返回已经创建过的对象重用
        /// </remarks>
        /// <param name="fileName"></param>
        /// <returns></returns>
        public static FileAppender GetAppender(string fileName)
        {
            if (s_appenderMap.ContainsKey(fileName))
                return s_appenderMap[fileName];

            var ret = new FileAppender();
            s_appenderMap[fileName] = ret;

            ret.fileName = fileName;

            return ret;
        }