微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – log4j:MySQL的JDBCAppender错误

我该如何修复错误

log4j.properties

    # Define the root logger with appender file
log4j.rootLogger = ALL, DB

# Define the DB appender
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender

# Set JDBC URL
log4j.appender.DB.URL=jdbc:MysqL://localhost/youtube

# Set Database Driver
log4j.appender.DB.driver=com.MysqL.jdbc.Driver

# Set database user name and password
log4j.appender.DB.user=root
log4j.appender.DB.password=root

# Set the sql statement to be executed.
log4j.appender.DB.sql=INSERT INTO logs VALUES('%x','%d','%C','%p','%m')

# Define the layout for file appender
log4j.appender.DB.layout=org.apache.log4j.PatternLayout

jdbcAppender.java

public class jdbcAppender{
  /* Get actual class name to be printed on */
  static Logger log = Logger.getLogger(jdbcAppender.class.getName());

  public static void main(String[] args) throws IOException,sqlException{

     log.debug("Debug");
     log.info("Info");
  }
}

数据库

错误

解决方法:

根据您使用的MysqL版本,您需要定义DATED字段,以便它可以接受包含一秒的分数的DATETIME值.认情况下,DATETIME接受值为YY-MM-dddd HH:MM:SS.

在这里阅读:http://dev.mysql.com/doc/refman/5.6/en/date-and-time-literals.html#date-and-time-standard-sql-literals

您可能遇到的另一个问题是,MysqL期望分数的分隔符是点(.),而不是逗号.您的异常堆栈跟踪显示逗号作为分隔符,我相信它是从您的系统的区域设置派生的.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐