Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        public BambooLogger(string categoryName = "BambooLogger")
        {
            //创建默认执行器
            var provider = new Log4NetProvider(DefaultLog4NetConfigFileName);

            _logger = provider.CreateLogger(categoryName);
        }
Esempio n. 3
0
        /// <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 });
            }
        }
Esempio n. 4
0
 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);
     }
 }
Esempio n. 5
0
        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;
            }
        }
Esempio n. 6
0
 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;
     }
 }
Esempio n. 7
0
        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);
        }
Esempio n. 11
0
        public void TestMethod1()
        {
            var provider = new Log4NetProvider("log4net.config");
            var logger   = provider.CreateLogger("Test");

            logger.LogCritical("A message");

            Assert.Inconclusive();
        }
Esempio n. 12
0
        /*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);
            }
        }
Esempio n. 13
0
        public void InitializingTwoProvidersDoesNotThrow()
        {
            var settings  = new Log4NetSettings();
            var providerA = new Log4NetProvider();
            var providerB = new Log4NetProvider();

            providerA.Initialize(settings);
            providerB.Initialize(settings);
        }
Esempio n. 14
0
        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)));
        }
Esempio n. 17
0
        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);
        }
Esempio n. 18
0
        /// <summary>Configures the logger.</summary>
        internal LogFactory(ILoggerRepository loggerRepository)
        {
            _loggerRepository = loggerRepository;

            var log4NetProvider = new Log4NetProvider(new Log4NetProviderOptions {
                ExternalConfigurationSetup = true
            });

            _loggerFactory = new LoggerFactory(new[] { log4NetProvider });
        }
Esempio n. 19
0
        public void create_logger_returns_the_expected_type()
        {
            // Arrange
            var provider = new Log4NetProvider();

            // Act
            var logger = provider.CreateLogger("TestLogger");

            // Assert
            logger.Should().BeOfType <Log4NetLogger>();
        }
Esempio n. 20
0
        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);
        }
Esempio n. 21
0
        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");
        }
Esempio n. 22
0
        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");
        }
Esempio n. 23
0
        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)));
        }
Esempio n. 25
0
        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);
            }
        }
Esempio n. 26
0
        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)));
        }
Esempio n. 28
0
        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);
        }
Esempio n. 29
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;
            }
        }
Esempio n. 30
0
 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());
     }
 }