Exemplo n.º 1
0
        public static void Publish(Exception ex, string Adicional = "")
        {
            var _log = new LogParameters()
            {
                Date = DateTime.Now,
                Ex = ex,
                Adicional = Adicional
            };

            new System.Threading.Thread((object argument) =>
            {
                var parameters = argument as LogParameters;

                LogFile(parameters);

            }).Start(_log);
        }
Exemplo n.º 2
0
        private static void LogFile(LogParameters parameters)
        {
            try
            {
                if (Disabled())
                    return;

                var path = ConfigurationManager.AppSettings["Log"];

                if (string.IsNullOrEmpty(path))
                    path = AppDomain.CurrentDomain.BaseDirectory + "Log";

                if (!System.IO.Directory.Exists(path))
                    System.IO.Directory.CreateDirectory(path);

                var logName = path + "\\log_" + parameters.Date.ToString("yyyyMMdd_HHmmssffff") + ".log";

                using (var writer = new System.IO.FileStream(logName, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite))
                {
                    byte[] line = null;

                    if (parameters.Ex == null)
                    {
                        line = Encoding.UTF8.GetBytes(parameters.Adicional);
                    }
                    else
                    {
                        line = Encoding.UTF8.GetBytes(
                            string.Format("Exception::::\r\n{0}\r\n\r\nAdicional::::\r\n{1}",
                                parameters.Ex.ToString(),
                                parameters.Adicional));
                    }

                    writer.Write(line, 0, line.Length);
                }
            }
            catch(Exception ex)
            {
                LogManager.Publish(ex);
            }
        }