Guest User

Untitled

a guest
Jan 17th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.32 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <log4net>
  3. <root>
  4. <level value="ALL" />
  5. </root>
  6.  
  7. <logger name="RequestLogger">
  8. <level value="INFO" />
  9. <appender-ref ref="AdoNetAppenderForRequestLogs" />
  10. </logger>
  11.  
  12. <appender name="AdoNetAppenderForRequestLogs" type="log4net.Appender.AdoNetAppender">
  13. <bufferSize value="1" />
  14. <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  15. <connectionString value="" />
  16. <commandText value="INSERT INTO Log4net_Requests ([Guid], [Date], [Url], [Headers], Controller, Action, RouteData) VALUES (@guid, @log_date, @url, @headers, @controller, @action, @routeData)" />
  17. <parameter>
  18. <parameterName value="@guid" />
  19. <dbType value="Guid" />
  20. <layout type="log4net.Layout.PatternLayout">
  21. <conversionPattern value="%property{RequestGuid}" />
  22. </layout>
  23. </parameter>
  24. <parameter>
  25. <parameterName value="@log_date" />
  26. <dbType value="DateTime" />
  27. <layout type="log4net.Layout.RawTimeStampLayout" />
  28. </parameter>
  29. <parameter>
  30. <parameterName value="@url" />
  31. <dbType value="String" />
  32. <size value="2000" />
  33. <layout type="log4net.Layout.PatternLayout">
  34. <conversionPattern value="%property{Url}" />
  35. </layout>
  36. </parameter>
  37. <parameter>
  38. <parameterName value="@headers" />
  39. <dbType value="String" />
  40. <layout type="log4net.Layout.PatternLayout">
  41. <conversionPattern value="%property{Headers}" />
  42. </layout>
  43. </parameter>
  44. <parameter>
  45. <parameterName value="@controller" />
  46. <dbType value="String" />
  47. <layout type="log4net.Layout.PatternLayout">
  48. <conversionPattern value="%property{Controller}" />
  49. </layout>
  50. </parameter>
  51. <parameter>
  52. <parameterName value="@action" />
  53. <dbType value="String" />
  54. <layout type="log4net.Layout.PatternLayout">
  55. <conversionPattern value="%property{Action}" />
  56. </layout>
  57. </parameter>
  58. <parameter>
  59. <parameterName value="@routeData" />
  60. <dbType value="String" />
  61. <layout type="log4net.Layout.PatternLayout">
  62. <conversionPattern value="%property{RouteData}" />
  63. </layout>
  64. </parameter>
  65. </appender>
  66. </log4net>
  67.  
  68. GlobalContext.Properties["Url"] = RequestLog.Url;
  69. GlobalContext.Properties["RequestGuid"] = RequestLog.Id; // .ToString() doesn't work either
  70. GlobalContext.Properties["Headers"] = RequestLog.GetHeaders();
  71. GlobalContext.Properties["Controller"] = RequestLog.Controller;
  72. GlobalContext.Properties["Action"] = RequestLog.Action;
  73. GlobalContext.Properties["RouteData"] = RequestLog.RouteData;
  74.  
  75. System.InvalidCastException: Failed to convert parameter value from a String to a Guid. ---> System.InvalidCastException: Invalid cast from 'System.String' to 'System.Guid'.
  76. at System.Convert.DefaultToType(IConvertible value, Type targetType, IFormatProvider provider)
  77. at System.String.System.IConvertible.ToType(Type type, IFormatProvider provider)
  78. at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
  79. at System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType, Boolean& coercedToDataFeed, Boolean& typeChanged, Boolean allowStreaming)
  80. --- End of inner exception stack trace ---
  81. at System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType, Boolean& coercedToDataFeed, Boolean& typeChanged, Boolean allowStreaming)
  82. at System.Data.SqlClient.SqlParameter.GetCoercedValue()
  83. at System.Data.SqlClient.SqlParameter.Validate(Int32 index, Boolean isCommandProc)
  84. at System.Data.SqlClient.SqlCommand.BuildParamList(TdsParser parser, SqlParameterCollection parameters, Boolean includeReturnValue)
  85. at System.Data.SqlClient.SqlCommand.BuildExecuteSql(CommandBehavior behavior, String commandText, SqlParameterCollection parameters, _SqlRPC& rpc)
  86. at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
  87. at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
  88. at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
  89. at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
  90. at log4net.Appender.AdoNetAppender.SendBuffer(IDbTransaction dbTran, LoggingEvent[] events)
  91. at log4net.Appender.AdoNetAppender.SendBuffer(LoggingEvent[] events)
  92.  
  93. GlobalContext.Properties["RequestGuid"] = new Guid(RequestLog.Id);
  94.  
  95. <parameter>
  96. <parameterName value="@guid" />
  97. <dbType value="Guid" />
  98. <layout type="log4net.Layout.RawPropertyLayout">
  99. <key value="RequestGuid" />
  100. </layout>
  101. </parameter>
Add Comment
Please, Sign In to add comment