コード例 #1
0
 /// <summary>
 /// Logs method calls to the configured logger based on a default format.
 ///
 /// for MethodName level, the format is "called method %method%"
 /// for Args level, the format is "called method %method% with arguments (%args)"
 ///
 /// Method call logging is performed before invocation.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="proxii"></param>
 /// <param name="detailLevel">The level of information to provide in the log message</param>
 /// <returns></returns>
 public static IProxii <T> LogCalls <T>(this IProxii <T> proxii, MethodCallDetailLevel detailLevel = MethodCallDetailLevel.MethodSignature)
     where T : class
 {
     return(LogCalls(proxii, LogLevel.Info, detailLevel));
 }
コード例 #2
0
        /// <summary>
        /// Logs method calls to the configured logger based on a default format.
        ///
        /// for MethodSignature level, the format is "called method %method%"
        /// for Args level, the format is "called method %method% with arguments (%args)"
        ///
        /// Method call logging is performed before invocation.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="proxii"></param>
        /// <param name="detailLevel">The level of information to provide in the log message</param>
        /// <returns></returns>
        public static IProxii <T> LogCalls <T>(this IProxii <T> proxii, LogLevel logLevel, MethodCallDetailLevel detailLevel = MethodCallDetailLevel.MethodSignature)
            where T : class
        {
            switch (detailLevel)
            {
            case MethodCallDetailLevel.MethodSignature:
                return(LogCalls(proxii, logLevel, "called method %method%"));

            case MethodCallDetailLevel.Args:
                return(LogCalls(proxii, logLevel, "called method %method% with arguments (%args%)"));

            default:
                return(proxii);
            }
        }