Я пытаюсь войти в мой сервер redshift с помощью встроенного adonetappender из log4net. Когда поле timestamp будет удалено, журнал будет успешно сохранен. Однако формат временной метки, по-видимому, вызывает ее. Я пробовал много разных форматов, которые соответствуют утверждениям красного смещения.log to redshift с помощью adonetappender log4net
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- This section contains the log4net configuration settings -->
<log4net>
<!-- Define some output appenders -->
<appender name="DebugAppender" type="log4net.Appender.DebugAppender">
<immediateFlush value="true" />
<layout type="log4net.Layout.SimpleLayout" />
</appender>
<appender name="RedshiftAppender" type="log4net.Appender.AdoNetAppender">
<bufferSize value="1" />
<connectionType value="System.Data.Odbc.OdbcConnection,System.Data,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral" />
<connectionString value="Driver={Amazon Redshift (x86)};..." />
<commandText value="INSERT INTO hep_config.server_log (tm,src,lvl,msg) VALUES ($1,$2,$3,$4)" />
<parameter>
<parameterName value="$1" />
<dbType value="DateTime" />
<layout type="log4net.Layout.PatternLayout" value="%date{yyyyMMdd HH':'mm':'ss'.'fff}" />
</parameter>
<parameter>
<parameterName value="$2" />
<dbType value="String" />
<size value="128" />
<layout type="log4net.Layout.PatternLayout" value="%thread" />
</parameter>
<parameter>
<parameterName value="$3" />
<dbType value="String" />
<size value="64" />
<layout type="log4net.Layout.PatternLayout" value="%level" />
</parameter>
<parameter>
<parameterName value="$4" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout" value="%message" />
</parameter>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="DebugAppender" />
<appender-ref ref="RedshiftAppender" />
</root>
</log4net>
</configuration>
Обновление описания вопроса, поскольку, как представляется, проблема связана с форматом метки времени. Когда я удаляю метку времени, журнал вставляется. –
Вы уверены, что формат, который вы используете, является допустимой меткой времени для Redshift? Основываясь на примерах, представленных в документации, это не похоже на это. http://docs.aws.amazon.com/redshift/latest/dg/r_Date_and_time_literals.html – Garett
хорошая точка! ... хотя даже когда я обновил это, он все равно дает мне ту же ошибку, а именно: «System.FormatException: String не был признан допустимым DateTime» ... изменен, чтобы показать правильный формат даты. –