Skip to content

Commit 625ccba

Browse files
committed
SqlStatementLogger: Print full details of DateTime parameter values. NH-3920.
1 parent 2b23a85 commit 625ccba

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/NHibernate/AdoNet/Util/SqlStatementLogger.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,19 +115,29 @@ private static string GetParameterLoggableType(IDataParameter dataParameter)
115115
public string GetParameterLoggableValue(IDataParameter parameter)
116116
{
117117
const int maxLoggableStringLength = 1000;
118+
118119
if (parameter.Value == null || DBNull.Value.Equals(parameter.Value))
119120
{
120121
return "NULL";
121122
}
123+
122124
if (IsStringType(parameter.DbType))
123125
{
124126
return string.Concat("'", TruncateWithEllipsis(parameter.Value.ToString(), maxLoggableStringLength), "'");
125127
}
128+
129+
if (parameter.Value is DateTime)
130+
return ((DateTime) parameter.Value).ToString("O");
131+
132+
if (parameter.Value is DateTimeOffset)
133+
return ((DateTimeOffset) parameter.Value).ToString("O");
134+
126135
var buffer = parameter.Value as byte[];
127136
if (buffer != null)
128137
{
129138
return GetBufferAsHexString(buffer);
130139
}
140+
131141
return parameter.Value.ToString();
132142

133143
}

0 commit comments

Comments
 (0)