public string OpenTerminal(string file1, string lang1, string file2, string lang2, string folderName1) { try{ /*Primero creamos las carpetas para almacenar los ficheros generados por Moses*/ CrearDirectorios(folderName1); ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = "ejecutarMoses.sh"; startInfo.UseShellExecute = false; startInfo.RedirectStandardOutput = true; startInfo.Arguments = file1 + " " + lang1 + " " + file2 + " " + lang2 + " " + folderName1; //startInfo.Arguments = "~/corpus/training/prueba_es_en/news-commentary-v8.es-en.es es ~/corpus/training/prueba_es_en/news-commentary-v8.es-en.en en ~/corpus/prueba/dev/news-test2008.es ~/corpus/prueba/dev/news-test2008.en"; Process proc = Process.Start(startInfo); string outputTerminal = proc.StandardOutput.ReadToEnd(); proc.WaitForExit(); return(outputTerminal); } catch (Exception e) { ErrorLog error = new ErrorLog() { NOMBRE_PROYECTO = HttpContext.Session.GetTituloProyecto(), ERROR = e.Message }; Log4NetProvider.logError("Gestion", "OpenTerminal", JsonConvert.SerializeObject(error)); return(e.Message); } }
public BambooLogger(string categoryName = "BambooLogger") { //创建默认执行器 var provider = new Log4NetProvider(DefaultLog4NetConfigFileName); _logger = provider.CreateLogger(categoryName); }
/// <summary>Configures the logger.</summary> /// <param name="path">The path of log4net.config.xml .</param> /// <param name="configFileName">Name of the configuration file. if you set this value, this method read only this filename. Otherwise this method uses the default filename. Default file names are log4net.config.xml and log4net.config</param> /// <param name="repositoryAssembly">The repository assembly.</param> public LogFactory(string path = null, string configFileName = null, Assembly repositoryAssembly = null) { if (string.IsNullOrWhiteSpace(path)) { path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); } var fns = string.IsNullOrWhiteSpace(configFileName) ? new[] { Path.Combine(path, "config", "log4net.config.xml"), Path.Combine(path, "log4net.config.xml"), Path.Combine(path, "config", "log4net.config"), Path.Combine(path, "log4net.config"), } : new[] { Path.Combine(path, "config", configFileName), Path.Combine(path, configFileName), }; var fn = fns.FirstOrDefault(x => File.Exists(x)); if (!string.IsNullOrWhiteSpace(fn)) { _loggerRepository = LogManager.CreateRepository(repositoryAssembly ?? Assembly.GetEntryAssembly() ?? Assembly.GetExecutingAssembly(), typeof(log4net.Repository.Hierarchy.Hierarchy)); XmlConfigurator.ConfigureAndWatch(_loggerRepository, new FileInfo(fn)); var log4NetProvider = new Log4NetProvider(new Log4NetProviderOptions { ExternalConfigurationSetup = true }); _loggerFactory = new LoggerFactory(new[] { log4NetProvider }); } }
public bool MergeFiles(ICollection <IFormFile> files, string uploadsPath, string lang1, string lang2) { try { var proyectName = HttpContext.Session.GetTituloProyecto(); ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = "memorias.sh"; startInfo.UseShellExecute = false; startInfo.RedirectStandardOutput = true; startInfo.Arguments = uploadsPath + " " + lang1 + " " + lang2; //startInfo.Arguments = "~/corpus/training/prueba_es_en/news-commentary-v8.es-en.es es ~/corpus/training/prueba_es_en/news-commentary-v8.es-en.en en ~/corpus/prueba/dev/news-test2008.es ~/corpus/prueba/dev/news-test2008.en"; Process proc = Process.Start(startInfo); string outputTerminal = proc.StandardOutput.ReadToEnd(); proc.WaitForExit(); return(true); } catch (System.Exception e) { ErrorLog error = new ErrorLog() { NOMBRE_PROYECTO = HttpContext.Session.GetTituloProyecto(), ERROR = e.Message }; Log4NetProvider.logError("Memoria", "MergeFiles", JsonConvert.SerializeObject(error)); return(false); } }
public Proyecto CrearProyecto(string descripcion) { try { var proyecto = new Proyecto { Descripcion = descripcion, Fecha_modificacion = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), Actualizado = false }; ctx.Proyectos.Add(proyecto); ctx.SaveChanges(); var url = "wwwroot/uploads/" + proyecto.Descripcion; Directory.CreateDirectory(url); Log4NetProvider.logInfo("Gestion", "CrearProyecto", JsonConvert.SerializeObject(proyecto)); return(proyecto); } catch (Exception e) { ErrorLog error = new ErrorLog() { NOMBRE_PROYECTO = HttpContext.Session.GetTituloProyecto(), ERROR = e.Message }; Log4NetProvider.logError("Gestion", "CrearProyecto", JsonConvert.SerializeObject(error)); return(null); throw; } }
public bool SeleccionaProyecto(int id) { try { SessionManager.PROYECTO.id = id; string query = "SELECT * FROM Proyectos WHERE id = {0}"; var proyecto = ctx.Proyectos.FromSql(query, id).FirstOrDefault(); string titulo = ""; if (proyecto != null) { titulo = proyecto.Descripcion; SessionManager.PROYECTO.titulo = titulo; ViewBag.proyecto = titulo; HttpContext.Session.SetIdProyecto(id); HttpContext.Session.SetTituloProyecto(titulo); return(true); } else { return(false); } } catch (System.Exception e) { ErrorLog error = new ErrorLog() { NOMBRE_PROYECTO = "id: " + id, ERROR = e.Message }; Log4NetProvider.logError("Traductor", "SeleccionaProyecto", JsonConvert.SerializeObject(error)); throw; } }
public void EjecutarMoses(int id, bool merge) { try { CultureInfo provider = CultureInfo.InvariantCulture; var proyecto = ctx.Proyectos.Where(s => s.Id == id).First(); Log4NetProvider.logInfo("Gestion", "EjecutarMoses", JsonConvert.SerializeObject(proyecto)); var relProyectos = ctx.Proyecto_Memorias.Where(r => r.ProyectoId.Id == id).ToList(); foreach (var rel in relProyectos) { var memoria = ctx.Memorias.Where(m => m.Id == rel.Id).FirstOrDefault(); var lenguaje = ctx.Memorias.Include(i => i.LenguajeId).Where(m => m.Id == rel.Id).FirstOrDefault().LenguajeId; /*Comprobamos que la creacion del sistema de traduccion del lenguaje es necesaria, comparando la fecha con la de las memorias subidas */ string url = "wwwroot/moses/working/" + proyecto.Descripcion + "/" + lenguaje.CodLenguaje_origen + "-" + lenguaje.CodLenguaje_destino + "/mert-work/moses.ini"; if (System.IO.File.Exists(url)) { DateTime lastModified = System.IO.File.GetLastWriteTime(url); if (lastModified > DateTime.ParseExact(memoria.Fecha_modificacion, "dd/MM/yyyy HH:mm:ss", provider)) { continue; } } /*TODO: si no hay ficheros mergeados, cambiar el nombre del fichero de la url (merged-file) o por fecha */ var urlMemoria = "wwwroot/uploads/" + proyecto.Descripcion + "/" + lenguaje.CodLenguaje_origen + "-" + lenguaje.CodLenguaje_destino; string urlMemoria1 = ""; string urlMemoria2 = ""; if (merge == true) { urlMemoria1 = urlMemoria + "/" + "merged-file." + lenguaje.CodLenguaje_origen; urlMemoria2 = urlMemoria + "/" + "merged-file." + lenguaje.CodLenguaje_destino; } else { var carpeta = new DirectoryInfo(urlMemoria); var archivo1 = (from f in carpeta.GetFiles() where f.Extension.Contains(lenguaje.CodLenguaje_origen) where f.Name.Contains("20") orderby f.LastWriteTime descending select f).FirstOrDefault(); var archivo2 = (from f in carpeta.GetFiles() where f.Extension.Contains(lenguaje.CodLenguaje_destino) where f.Name.Contains("20") orderby f.LastWriteTime descending select f).FirstOrDefault(); urlMemoria1 = archivo1.FullName; urlMemoria2 = archivo2.FullName; } var uploadsPath1 = Path.Combine(_environment.WebRootPath, urlMemoria1); var uploadsPath2 = Path.Combine(_environment.WebRootPath, urlMemoria2); string folderName1 = proyecto.Descripcion + "/" + lenguaje.CodLenguaje_origen + "-" + lenguaje.CodLenguaje_destino; //string folderName2 = proyecto.Descripcion+"/"+lenguaje.CodLenguaje_destino+"-"+lenguaje.CodLenguaje_origen; OpenTerminal(uploadsPath1, lenguaje.CodLenguaje_origen, uploadsPath2, lenguaje.CodLenguaje_destino, folderName1); } } catch (System.Exception e) { ErrorLog error = new ErrorLog() { NOMBRE_PROYECTO = HttpContext.Session.GetTituloProyecto(), ERROR = e.Message }; Log4NetProvider.logError("Gestion", "EjecutarMoses", JsonConvert.SerializeObject(error)); throw; } }
public void Ctor_When_FilenameArgument_Should_CreateInstance_That_AllowCreateLogger() { var sut = new Log4NetProvider(Context.GetLog4netFilePath(Models.Log4NetFileOption.All)); var logger = sut.CreateLogger(); logger.Should().BeOfType(typeof(Log4NetLogger)); }
public void Ctor_Should_CreateInstance_That_AllowCreateLogger() { var sut = new Log4NetProvider(); var logger = sut.CreateLogger(); logger.Should().BeOfType(typeof(Log4NetLogger)); }
public void CreateLoggerWithTypeName() { var provider = new Log4NetProvider(); var logger = provider.CreateLogger <Log4NetProviderExtensionsShould>() as Log4NetLogger; Assert.IsNotNull(logger); Assert.AreEqual(typeof(Log4NetProviderExtensionsShould).FullName, logger.Name); }
public void TestMethod1() { var provider = new Log4NetProvider("log4net.config"); var logger = provider.CreateLogger("Test"); logger.LogCritical("A message"); Assert.Inconclusive(); }
/*Devuelve la ruta en para insertar las memorias */ public bool InsertMemoria(string lang1, string lang2) { try { Lenguaje lenguaje = new Lenguaje(); string query = "SELECT * FROM Lenguajes WHERE CodLenguaje_origen = {0} AND CodLenguaje_destino = {1}"; lenguaje = ctx.Lenguajes.FromSql(query, lang1, lang2).FirstOrDefault(); var url = "wwwroot/uploads/" + HttpContext.Session.GetTituloProyecto() + "/" + lang1 + "-" + lang2; if (lenguaje == null) { lenguaje = new Lenguaje { CodLenguaje_origen = lang1, CodLenguaje_destino = lang2 }; ctx.Lenguajes.Add(lenguaje); } if (!Directory.Exists(url)) { Directory.CreateDirectory(url); } var memoria = new Memoria { Fecha_modificacion = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), LenguajeId = lenguaje }; query = "SELECT * FROM Proyectos WHERE Id = {0}"; Proyecto pr = ctx.Proyectos.FromSql(query, HttpContext.Session.GetIdProyecto()).First(); var proyecto_memoria = new Proyecto_Memoria { ProyectoId = pr, MemoriaId = memoria }; ctx.Memorias.Add(memoria); ctx.Proyecto_Memorias.Add(proyecto_memoria); var result = ctx.Proyectos.SingleOrDefault(b => b.Id == pr.Id); result.Actualizado = false; result.Fecha_modificacion = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); ctx.SaveChanges(); return(true); } catch (System.Exception e) { ErrorLog error = new ErrorLog() { NOMBRE_PROYECTO = HttpContext.Session.GetTituloProyecto(), ERROR = e.Message }; Log4NetProvider.logError("Memoria", "InsertMemoria", JsonConvert.SerializeObject(error)); return(false); } }
public void InitializingTwoProvidersDoesNotThrow() { var settings = new Log4NetSettings(); var providerA = new Log4NetProvider(); var providerB = new Log4NetProvider(); providerA.Initialize(settings); providerB.Initialize(settings); }
public static ContainerBuilder CreateContainerBuilder() { var builder = new ContainerBuilder(); builder.RegisterControllers(typeof(HomeController).Assembly); builder.Register(f => Log4NetProvider.LogProvider("ForControllers")).As <LogAdapter.ILogger>(); return(builder); }
public void CreateDefaultLoggerWithoutTypeName() { var provider = new Log4NetProvider(); var logger = provider.CreateLogger() as Log4NetLogger; Assert.IsNotNull(logger); Assert.AreEqual(string.Empty, logger.Name); }
public void LogCriticalMessages() { var provider = new Log4NetProvider(DefaultLog4NetConfigFileName); var logger = provider.CreateLogger(TestLoggerName); logger.LogCritical(MessageText); Assert.AreEqual(1, this.listener.Messages.Count); Assert.IsTrue(this.listener.Messages.Any(x => x.Contains(MessageText))); }
private static Log4NetProvider CreateProvider(XDocument configuration) { var settings = new Log4NetSettings { RootRepository = Guid.NewGuid().ToString() }; var provider = new Log4NetProvider(x => configuration, x => true); provider.Initialize(settings); return(provider); }
/// <summary>Configures the logger.</summary> internal LogFactory(ILoggerRepository loggerRepository) { _loggerRepository = loggerRepository; var log4NetProvider = new Log4NetProvider(new Log4NetProviderOptions { ExternalConfigurationSetup = true }); _loggerFactory = new LoggerFactory(new[] { log4NetProvider }); }
public void create_logger_returns_the_expected_type() { // Arrange var provider = new Log4NetProvider(); // Act var logger = provider.CreateLogger("TestLogger"); // Assert logger.Should().BeOfType <Log4NetLogger>(); }
public void InitializingTwoProvidersDoesNotThrow() { var settings = new Log4NetSettings { RootRepository = Guid.NewGuid().ToString() }; var providerA = new Log4NetProvider(); var providerB = new Log4NetProvider(); providerA.Initialize(settings); providerB.Initialize(settings); }
public void create_logger_returns_the_expected_logger_with_expected_name() { // Arrange var provider = new Log4NetProvider(); // Act var logger = provider.CreateLogger("TestLogger"); // Assert (logger as Log4NetLogger).LoggerName.Should().Be("TestLogger"); }
public void create_logger_with_null_or_empty_name_throws_exception(string name) { // Arrange var provider = new Log4NetProvider(); // Act Action act = () => provider.CreateLogger(null); // Assert act.ShouldThrow <ArgumentNullException>().WithMessage("Value cannot be null.\r\nParameter name: name"); }
public void WhenScopeFactoryIsNullOnProviderOptions_ThenDefaultLog4NetScopeFactoryIsUsed() { var options = new Log4NetProviderOptions { ScopeFactory = null }; var provider = new Log4NetProvider(options); var logger = provider.CreateLogger("test") as Log4NetLogger; Assert.IsNotNull(logger?.Options?.ScopeFactory, "Scope factory on logger's options should not be null."); }
public void LogCriticalMessages() { var provider = new Log4NetProvider("log4net.config"); var logger = provider.CreateLogger("Test"); const string message = "A message"; logger.LogCritical(message); Assert.AreEqual(1, this.listener.Messages.Count); Assert.IsTrue(this.listener.Messages.Any(x => x.Contains(message))); }
public string Traducir(string text1, string lang1, string lang2, string sProyecto) { try { string proyectName = ""; ViewBag.errorTraduccion = ""; if (sProyecto == null) { proyectName = HttpContext.Session.GetTituloProyecto(); } else { proyectName = sProyecto; } /*Si no está logueado el proyecto por defecto es el primero de la tabla actualizado o el último en añadirse */ if (proyectName == null || proyectName == "") { var proyecto = ctx.Proyectos.Where(p => p.Actualizado == true).FirstOrDefault(); if (proyecto == null) { proyecto = ctx.Proyectos.Last(); } proyectName = proyecto.Descripcion; } string ubicacion = proyectName + "/" + lang1 + "-" + lang2; var urlWorking = "wwwroot/moses/working/" + ubicacion; if (!Directory.Exists(urlWorking)) { ViewBag.errorTraduccion = "Memoría de traduccción inexistente para los lenguajes seleccionados"; return(""); } ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = "traduccion.sh"; startInfo.UseShellExecute = false; startInfo.RedirectStandardOutput = true; startInfo.Arguments = ubicacion + " " + text1;; //startInfo.Arguments= "echo " + "'" +text1+ "'" + "| ~/mosesdecoder/bin/moses -f ~/working/prueba/mert-work/moses.ini"; Process proc = Process.Start(startInfo); string outputTerminal = proc.StandardOutput.ReadToEnd(); proc.WaitForExit(); return(outputTerminal); } catch (Exception e) { Log4NetProvider.logError("Traductor", "Invocar", e.Message); return(null); } }
public void ProviderShouldCreateLoggerUsingConfigurationFileRelativePath() { var provider = new Log4NetProvider(Log4NetConfigFileName); var logger = provider.CreateLogger(TestLoggerName); const string message = MessageText; logger.LogCritical(message); Assert.AreEqual(1, this.listener.Messages.Count); Assert.IsTrue(this.listener.Messages.Any(x => x.Contains(message))); }
public void Include_ScopePropertyOnMessages_When_ScopeIsString() { var provider = new Log4NetProvider(DefaultLog4NetConfigFileName); var logger = provider.CreateLogger(TestLoggerName); using (var scope = logger.BeginScope(ScopedValueText)) { logger.LogCritical(MessageText); } Assert.AreEqual(1, this.listener.Messages.Count); Assert.IsTrue(this.listener.Messages.Any(x => x.Contains(MessageText))); Assert.IsTrue(this.listener.Messages.Any(x => x.Contains(ScopedValueText))); }
public void provider_clears_loggers_when_disposed() { // Arrange var provider = new Log4NetProvider(); provider.CreateLogger("TestLogger"); provider.CreateLogger("TestLogger1"); // Act provider.Dispose(); // Assert provider.Loggers.Count.Should().Be(0); }
public string UsarGlosario(string lang1, string lang2, string traduccion) { try { var glosarios = ctx.Proyecto_Glosarios.Include(i => i.GlosarioId).Where(p => p.ProyectoId.Id == HttpContext.Session.GetIdProyecto()).ToList(); var palabras1 = new List <Glosario>(); var palabras2 = new List <Glosario>(); var palabrasReemplazadas = new List <PalabrasGlosario>(); foreach (var gl in glosarios) { var palAux1 = ctx.Glosarios.Where(g => g.Id == gl.GlosarioId.Id && g.CodLenguaje == lang1).FirstOrDefault(); if (palAux1 != null) { palabras1.Add(palAux1); } var palAux2 = ctx.Glosarios.Where(g => g.Id == gl.GlosarioId.Id && g.CodLenguaje == lang2).FirstOrDefault(); if (palAux2 != null) { palabras2.Add(palAux2); } } foreach (var palabra1 in palabras1) { foreach (var palabra2 in palabras2) { if (palabra1.Grupo == palabra2.Grupo) { if (traduccion.Contains(palabra1.Palabra)) { traduccion = traduccion.Replace(palabra1.Palabra, palabra2.Palabra); var pg = new PalabrasGlosario() { palabraOrigen = palabra1.Palabra, palabraNueva = palabra2.Palabra }; palabrasReemplazadas.Add(pg); } } } } ViewBag.palabrasReemplazadas = palabrasReemplazadas; return(traduccion); } catch (System.Exception e) { Log4NetProvider.logError("Traductor", "UsarGlosario", e.Message); throw; } }
public async Task <IActionResult> Index(string codUsuario, string contrasena) { if (IsContrasenaCorrecta(codUsuario, contrasena)) { //return View("~/Views/Proyecto/Index.cshtml"); Log4NetProvider.logInfo("Acceso", "LoginCorrecto", codUsuario); return(RedirectToAction("Index", "Proyecto")); } else { ViewBag.error = "Usuario o contraseña incorrectos"; return(View()); } }