示例#1
0
        private void PopulateSettings(ConsumerInitializationParameters initParam)
        {
            var configReader = new ConfigReader(initParam.ApplicationInstanceId);

            this.isEnabled = configReader.GetUnencryptedConfigValue(
                initParam.SectionName,
                SyslogConstant.EnabledParamName,
                DefaultEnabledStateValue);

            this.logIdentity = configReader.GetUnencryptedConfigValue(
                initParam.SectionName,
                SyslogConstant.IdentityParamName,
                DefaultLogIdentity);

            var facilityString = configReader.GetUnencryptedConfigValue(
                initParam.SectionName,
                SyslogConstant.FacilityParamName,
                DefaultLogFacility.ToString());

            // It is bound to succeed since the param is already validated to be the right enum type in validator.
            this.syslogFacility = (SyslogFacility)Enum.Parse(typeof(SyslogFacility), facilityString, true);

            this.traceSource.WriteInfo(
                this.logSourceId,
                string.Format("SyslogConsumer Populated with these settings. Enabled: {0}, Identity: {1}, Facility: {2}", this.isEnabled, this.logIdentity, this.syslogFacility));
        }
示例#2
0
 /// <summary>
 /// Initializes a new instance of Syslog Notification Service
 /// </summary>
 /// <param name="appriseUrl">The URL of Apprise API</param>
 /// <param name="facility">The facility to use.</param>
 public Syslog(string appriseUrl, SyslogFacility facility = SyslogFacility.User)
 {
     AppriseUrl = appriseUrl;
     ServiceUrl = $"syslog://{facility.ToString().ToLower()}";
 }