Hello.
I am running into problems when trying to log to an MySQL database.
Following this article: https://www.wowza.com/docs/how-to-log-to-a-mysql-database
Enviroment:
-
Centos 7 (held updated)
-
Wowza 4.4.0 (build 17748)
-
MariaDB 5.5.52
Done following:
-
Created the database “wowzalogs” with the table “accesslog” using the CREATE from the article
-
Can successfully view empty table from commandline mysql
-
Placed mysql-connector-java-5.1.8-bin.jar in /lib
-
Edited log4j.properties to add “SQ” catergory to the first line
-
Added the appender as copypaste from article. Only changed password. Using localhost and root user
-
Restarted wowza streaming engine
Results:
- Nothing is written to the database
Errors from running Wowza in console mode:
[Events prior to this, not sure if thats interesting...?]
INFO application app-start _definst_ live/_definst_
INFO server comment - ServerListenerStreamPublisher: Stream name is 'liveTVstream2'
log4j:ERROR Failed to excute sql
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'liveTVstream2'', '-', '-', '-', '4.272', '-', '-', '-', '-', '-', '-', '-', '-',' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
at com.mysql.jdbc.Util.getInstance(Util.java:387)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:942)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3966)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3902)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2526)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2673)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545)
at com.mysql.jdbc.StatementImpl.executeUpdateInternal(StatementImpl.java:1540)
at com.mysql.jdbc.StatementImpl.executeLargeUpdate(StatementImpl.java:2595)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1468)
at org.apache.log4j.jdbc.JDBCAppender.execute(JDBCAppender.java:218)
at org.apache.log4j.jdbc.JDBCAppender.flushBuffer(JDBCAppender.java:289)
at org.apache.log4j.jdbc.JDBCAppender.append(JDBCAppender.java:186)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.log(Category.java:838)
at com.wowza.wms.logging.WMSLogger.log(WMSLogger.java:203)
at com.wowza.wms.logging.WMSLogger.info(WMSLogger.java:238)
at com.wowza.wms.plugin.collection.serverlistener.ServerListenerStreamPublisher.loadSchedule(ServerListenerStreamPublisher.java:367)
at com.wowza.wms.plugin.collection.serverlistener.ServerListenerStreamPublisher.onServerInit(ServerListenerStreamPublisher.java:291)
at com.wowza.wms.server.Server.l(Server.java:4461)
at com.wowza.wms.server.Server.start(Server.java:1112)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.wowza.wms.bootstrap.Bootstrap.startServer(Bootstrap.java:628)
at com.wowza.wms.bootstrap.Bootstrap.main(Bootstrap.java:67)
INFO stream create - -
INFO stream publish liveTVstream2 -
[Events after this too...]
I noticed the ‘liveTVstream2’’ contains two apostrophes. Suspecting thats the issue. But the app-name is simply liveTVstream2. No idea why it would try to insert an extra apostrophe.
Any suggestions? Thanks in advance.