コード例 #1
0
ファイル: XimuraException.cs プロジェクト: mbmccormick/Ximura
		/// <summary>
		/// This is a shortcut to log the exception message to the Ximura Logging provider. 
		/// This may be overriden in derived classes to provide a more detailed breakdown.
		/// </summary>
		/// <param name="provider">The Ximura logging provider to log to.</param>
		/// <returns>A boolean value. True indicated that the message was successfully logged.</returns>
		public virtual bool LogException(IXimuraLogging provider)
		{
			if (provider == null) return false;

			try
			{
				provider.WriteLine(this.Message);
			}
			catch
			{
				return false;
			}

			return true;
		} 
コード例 #2
0
ファイル: XimuraAppTrace.cs プロジェクト: mbmccormick/Ximura
		/// <summary>
		/// This method removes a logger from the logging collection.
		/// </summary>
		/// <param name="logger">The logger to remove.</param>
		public static void LoggerRemove(IXimuraLogging logger)
		{
            lock (syncTrace)
			{
				if (!categoryLogger.Contains(logger))
					return;

				categoryLogger.Remove(logger);

				if (categoryLogger.Count == 0)
					defaultLogger = NullLoggerAgent.NoLog();
				else if (defaultLogger == logger)
					defaultLogger = categoryLogger[0];

				//Safety check
				if (defaultLogger == null)
					defaultLogger = NullLoggerAgent.NoLog();
			}
		}
コード例 #3
0
ファイル: XimuraAppTrace.cs プロジェクト: mbmccormick/Ximura
		/// <summary>
		/// This method adds a logger to the logging collection.
		/// </summary>
		/// <param name="logger">The logger to add.</param>
		public static void LoggerAdd(IXimuraLogging logger)
		{
            lock (syncTrace)
			{
				if (!categoryLogger.Contains(logger))
				{
					categoryLogger.Add(logger);
				}
				if (defaultLogger == NullLoggerAgent.NoLog())
					defaultLogger = logger;
			}
		}
コード例 #4
0
ファイル: XimuraAppTrace.cs プロジェクト: mbmccormick/Ximura
		private static void WriteItem(IXimuraLogging logger, QueueItem item)
		{
			IXimuraLoggingExtended exLog = logger as IXimuraLoggingExtended;
			
			if (item.writeline)
				if (exLog!=null)
				{
					if (item.logAsString)
						exLog.WriteLine(item.message as string,item.category,item.type);
					else
						exLog.WriteLine(item.message.ToString(),item.category,item.type);

				}
				else
				{
					if (item.logAsString)
						logger.WriteLine(item.message,item.category);
					else
						logger.WriteLine(item.message.ToString(),item.category);
				}
			else
			{
				if (exLog!=null)
				{
					if (item.logAsString)
						exLog.Write(item.message as string,item.category,item.type);
					else
						exLog.Write(item.message.ToString(),item.category,item.type);
				}
				else
				{
					if (!item.logAsString)
						logger.Write(item.message,item.category);
					else
						logger.Write(item.message.ToString(),item.category);
				}
			}
		}