/// <summary> /// Adds an <see cref="T:log4net.Appender.IAppender" /> to the list of appenders of this /// instance. /// </summary> /// <param name="newAppender">The <see cref="T:log4net.Appender.IAppender" /> to add to this appender.</param> /// <remarks> /// <para> /// If the specified <see cref="T:log4net.Appender.IAppender" /> is already in the list of /// appenders, then it won't be added again. /// </para> /// </remarks> public virtual void AddAppender(IAppender newAppender) { if (newAppender == null) { throw new ArgumentNullException("newAppender"); } lock (this) { if (m_appenderAttachedImpl == null) { m_appenderAttachedImpl = new AppenderAttachedImpl(); } m_appenderAttachedImpl.AddAppender(newAppender); } }
/// <summary> /// Add <paramref name="newAppender" /> to the list of appenders of this /// Logger instance. /// </summary> /// <param name="newAppender">An appender to add to this logger</param> /// <remarks> /// <para> /// Add <paramref name="newAppender" /> to the list of appenders of this /// Logger instance. /// </para> /// <para> /// If <paramref name="newAppender" /> is already in the list of /// appenders, then it won't be added again. /// </para> /// </remarks> public virtual void AddAppender(IAppender newAppender) { if (newAppender == null) { throw new ArgumentNullException("newAppender"); } m_appenderLock.AcquireWriterLock(); try { if (m_appenderAttachedImpl == null) { m_appenderAttachedImpl = new AppenderAttachedImpl(); } m_appenderAttachedImpl.AddAppender(newAppender); } finally { m_appenderLock.ReleaseWriterLock(); } }
public void AddAppender(IAppender appender) { appenders.AddAppender(appender); }