Exemple #1
0
 public static IFluentLogBuilder WithSettings(this IFluentLogBuilder logBuilder, Settings settings)
 {
     foreach (SettingsPropertyValue item in settings.PropertyValues)
     {
         logBuilder.Property(item.Name, item.PropertyValue);
     }
     return(logBuilder);
 }
Exemple #2
0
 public static IFluentLogBuilder Transaction(this IFluentLogBuilder builder, DeviceTransaction transaction)
 {
     builder.Property("transaction", transaction);
     builder.Property("transactionId", transaction.TransactionId);
     builder.Property("transactionCommand", transaction.Command);
     builder.Property("transactionState", transaction.State);
     if (transaction.ErrorMessage.Any())
     {
         builder.Property("transactionError", transaction.ErrorMessage.Single());
     }
     if (transaction.Response.Any())
     {
         builder.Property("transactionResponse", transaction.Response.Single());
     }
     return(builder);
 }
Exemple #3
0
        public static IFluentLogBuilder PublicPropertiesOf(this IFluentLogBuilder logBuilder, object item,
                                                           string baseName = null)
        {
            var itemType         = item.GetType();
            var publicProperties = itemType.GetProperties(BindingFlags.Public);

            if (!publicProperties.Any())
            {
                return(logBuilder);
            }
            var logBaseName = baseName ?? itemType.Name;
            var nameBuilder = new StringBuilder();

            foreach (var property in publicProperties)
            {
                var value = property.GetValue(item);
                nameBuilder.Clear().Append(logBaseName).Append('-').Append(property.Name);
                logBuilder.Property(nameBuilder.ToString(), value ?? NullValue);
            }
            return(logBuilder);
        }