Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="providerElement"></param>
        /// <returns></returns>
        private Target GetTargetByProviderElement(LogProviderElement providerElement)
        {
            switch (providerElement.Target)
            {
            case TargetType.Database:
            {
                DatabaseTarget wDatabase = new DatabaseTarget();
                wDatabase.CnnStringName = providerElement.CnnStringName;
                return(wDatabase);
            }

            case TargetType.File:
            {
                FileTarget wFile = new FileTarget();
                wFile.FileName = providerElement.FileName;
                return(wFile);
            }

            case TargetType.WindowsEvent:
            {
                return(new WindowsEventTarget());
            }

            case TargetType.Xml:
            {
                XmlTarget wXml = new XmlTarget();
                wXml.FileName = providerElement.FileName;
                return(wXml);
            }
            }
            return(null);
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="providerName">Nombre del proveedor de Logueo</param>
        /// <param name="ev"></param>
        /// <param name="path"></param>
        /// <param name="fileNamePrefix"></param>
        private static void WriteLog(String providerName, Event ev, string path, string fileNamePrefix)
        {
            // Obtiene el provider
            LogProviderElement provider = _LoggingSection.GetProvider(providerName);

            // Escribe el log según la Rule.
            Target wTarget = GetTargetByProvider(provider, path, fileNamePrefix);

            wTarget.Write(ev);
        }
Esempio n. 3
0
        /// <summary>
        /// Escribe un log
        /// </summary>
        /// <param name="providerName"></param>
        /// <param name="pEvent"></param>
        private void WriteLog(string providerName, Event pEvent)
        {
            // Obtiene el provider
            LogProviderElement provider = _LoggingSection.GetProvider(providerName);

            // Escribe el log según la Rule.
            Target wTarget = GetTargetByProviderElement(provider);

            wTarget.Write(pEvent);

            //wRule = null;
            //pEvent = null;
        }
Esempio n. 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="providerName"></param>
        /// <param name="pEventType"></param>
        /// <param name="pSource"></param>
        /// <param name="pText"></param>
        private void WriteLog(String providerName, EventType pEventType, string pSource, string pText)
        {
            // Crea un nuevo Event.
            Event wEvent = new Event(pEventType, pSource, pText);

            wEvent.AppId = appId;
            // Obtiene la Rule asociada al EventType.
            LogProviderElement wRule = _LoggingSection.GetProvider();

            // Escribe el log según la Rule.
            Target wTarget = GetTargetByProviderElement(wRule);

            wTarget.Write(wEvent);

            // Limpieza.
            wEvent = null;
            wRule  = null;
        }
Esempio n. 5
0
        ITarget GetTarget(string providerName)
        {
            ITarget            target   = null;
            LogProviderElement provider = _LoggingSection.GetProvider(providerName);

            switch (provider.Target)
            {
            case TargetType.Database:
            {
                target = new DatabaseTarget();
                ((DatabaseTarget)target).CnnStringName = provider.CnnStringName;

                break;
            }

            case TargetType.Xml:
            {
                target = new XmlTarget();
                ((XmlTarget)target).FileName = provider.FileName;
                break;
            }
            }
            return(target);
        }
Esempio n. 6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="provider"></param>
        /// <param name="path"></param>
        /// <param name="fileNamePrefix"></param>
        /// <returns></returns>
        private static Target GetTargetByProvider(LogProviderElement provider, string path, string fileNamePrefix)
        {
            ITarget target = null;

            switch (provider.Target)
            {
            case TargetType.Database:
            {
                target = Target.TargetFactory(TargetType.Database, provider.CnnStringName);
                break;
            }

            case TargetType.File:
            {
                string fileName;
                if (string.IsNullOrEmpty(path))
                {
                    fileName = string.Concat(fileNamePrefix, provider.FileName);
                }
                else
                {
                    fileName = System.IO.Path.Combine(path, string.Concat(fileNamePrefix, provider.FileName));
                }

                //Si cambio el nombre del archivo de log reinicio los logs para que Xmltarget lo busque
                // en el archivo correspondiente o genere uno nuevo
                if (string.Compare(fileName, currentFileName) != 0)
                {
                    currentFileName = fileName;
                }
                target = Target.TargetFactory(TargetType.File, provider.FileName);
                break;
            }

            case TargetType.WindowsEvent:
            {
                target = Target.TargetFactory(TargetType.WindowsEvent, "WindowsEvent");
                break;
            }

            case TargetType.Xml:
            {
                string fileName;
                if (string.IsNullOrEmpty(path))
                {
                    fileName = string.Concat(fileNamePrefix, provider.FileName);
                }
                else
                {
                    fileName = System.IO.Path.Combine(path, string.Concat(fileNamePrefix, provider.FileName));
                }

                //Si cambio el nombre del archivo de log reinicio los logs para que Xmltarget lo busque
                // en el archivo correspondiente o genere uno nuevo
                if (string.Compare(fileName, currentFileName) != 0)
                {
                    ClearXmlTargetEvents();
                    currentFileName = fileName;
                }
                target = Target.TargetFactory(TargetType.Xml, fileName);
                break;
            }
            }
            return((Target)target);
        }