You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Robert Turner (Jira)" <ji...@apache.org> on 2023/03/28 20:12:00 UTC

[jira] [Comment Edited] (LOG4J2-2297) java.sql.Time objects are incorrectly formatted

    [ https://issues.apache.org/jira/browse/LOG4J2-2297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17706126#comment-17706126 ] 

Robert Turner edited comment on LOG4J2-2297 at 3/28/23 8:11 PM:
----------------------------------------------------------------

I'm seeing a crash in 2.20.0 now that I think is related to this change – when passing a `java.sql.Date` object as a parameter, an `UnsupportedOperationException` is now thrown as `toInstant` is not support on them (https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html#toInstant–)

Top of backtrace:
{noformat}
Caused by: java.lang.UnsupportedOperationException
        at java.sql/java.sql.Date.toInstant(Date.java:316)
        at org.apache.logging.log4j.message.ParameterFormatter.appendDate(ParameterFormatter.java:492)
        at org.apache.logging.log4j.message.ParameterFormatter.appendSpecialTypes(ParameterFormatter.java:485)
        at org.apache.logging.log4j.message.ParameterFormatter.recursiveDeepToString(ParameterFormatter.java:474)
        at org.apache.logging.log4j.message.ParameterFormatter.recursiveDeepToString(ParameterFormatter.java:449)
        at org.apache.logging.log4j.message.ParameterFormatter.formatMessage2(ParameterFormatter.java:192)
        at org.apache.logging.log4j.message.ParameterizedMessage.formatTo(ParameterizedMessage.java:227)
{noformat}

I have created https://github.com/apache/logging-log4j2/issues/1400 for this issue.


was (Author: rturner@e-djuster.com):
I'm seeing a crash in 2.20.0 now that I think is related to this change – when passing a `java.sql.Date` object as a parameter, an `UnsupportedOperationException` is now thrown as `toInstant` is not support on them (https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html#toInstant–)

Top of backtrace:
{noformat}
Caused by: java.lang.UnsupportedOperationException
        at java.sql/java.sql.Date.toInstant(Date.java:316)
        at org.apache.logging.log4j.message.ParameterFormatter.appendDate(ParameterFormatter.java:492)
        at org.apache.logging.log4j.message.ParameterFormatter.appendSpecialTypes(ParameterFormatter.java:485)
        at org.apache.logging.log4j.message.ParameterFormatter.recursiveDeepToString(ParameterFormatter.java:474)
        at org.apache.logging.log4j.message.ParameterFormatter.recursiveDeepToString(ParameterFormatter.java:449)
        at org.apache.logging.log4j.message.ParameterFormatter.formatMessage2(ParameterFormatter.java:192)
        at org.apache.logging.log4j.message.ParameterizedMessage.formatTo(ParameterizedMessage.java:227)
{noformat}

> java.sql.Time objects are incorrectly formatted
> -----------------------------------------------
>
>                 Key: LOG4J2-2297
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2297
>             Project: Log4j 2
>          Issue Type: Bug
>    Affects Versions: 2.11.0
>            Reporter: Kedar Joshi
>            Assignee: Ralph Goers
>            Priority: Major
>             Fix For: 2.20.0
>
>
> Log4j2 incorrectly formats instance objects of *java.sql.Time*. Consider following case -
> final Time time = Time.valueOf("12:00:00");
>  logger.info("Time : {}", time);
>  
>  Now, the expected output is *Time : 12:00:00* but instead it is logged as {color:#333333}Time : {color}*1970-01-01T12:00:00.000+0530*. Since *java.sql.Time* has no date component, it is wrong to format it this way.
>   



--
This message was sent by Atlassian Jira
(v8.20.10#820010)