/// <summary>
        /// Initializes a new instance of the <see cref="LogAdvice"/> class.
        /// </summary>
        /// <param name="parent">Task that creates the advice.</param>
        /// <param name="attribute">Attribute the advice is associated with.</param>
        /// <exception cref="ArgumentNullException"><paramref name="parent"/> or <see cref="attribute"/> is <see langword="null"/>.</exception>
        public LogAdvice(LogTask parent, LogAttribute attribute)
        {
            if (parent == null) {
                throw new ArgumentNullException("parent");
            }
            if (attribute == null) {
                throw new ArgumentNullException("attribute");
            }

            this.parent = parent;
            this.attribute = attribute;
        }
 public static void InitializeLoggerPolicies(LogTask parent)
 {
     //Initialize LoggerPolicyMap
     var customAttributeDictionaryTask = AnnotationRepositoryTask.GetTask(parent.Project);
     var customAttributeEnumerator = customAttributeDictionaryTask.GetAnnotationsOfType(typeof(LoggerPolicyAttribute), false);
     while (customAttributeEnumerator.MoveNext())
     {
       TypeDefDeclaration typeDef = customAttributeEnumerator.Current.TargetElement as TypeDefDeclaration;
       if (typeDef != null)
       {
     sm_loggerPolicies[typeDef.Name] = customAttributeEnumerator.Current.Value;
       }
     }
 }
 public LogInitializeAdvice(LogTask parent)
 {
     this.parent = parent;
 }