using log4net.Repository.Hierarchy;
public class MiContenedor
public void MetodoQueCasca()
throw new OverflowException("Error simulado en un cálculo.");
public void SegundoMetodo()
public void PrimerMetodo()
private static ConsoleAppender GetConsoleAppender()
ConsoleAppender lAppender = new ConsoleAppender();
lAppender.Name = "Console";
lAppender.Layout = new log4net.Layout.PatternLayout("%date{dd-MM-yyyy HH:mm:ss,fff} %5level [%2thread] %message%n");
lAppender.Threshold = log4net.Core.Level.Info;
lAppender.ActivateOptions();
protected static ILog logger = LogManager.GetLogger(typeof(Program));
public static void Main()
root = ((Hierarchy)LogManager.GetRepository()).Root;
root.AddAppender(GetConsoleAppender());
root.Level = log4net.Core.Level.All;
root.Repository.Configured = true;
logger.Info("Prueba de funcionamiento de logeo.");
var sut = new MiContenedor();
logger.InfoFormat("Error al precargar datos de productos en carteras {0}", ex.Message);
logger.InfoFormat("{0}", new System.Diagnostics.StackTrace().ToString());
logger.Info("----------------------------------------------------");
logger.Info("Ha cascado el método. Detalles:", ex);