Решили пощупать Sentry
https://github.com/getsentry/sentry для более удобного отслеживания ошибок bgbs-скриптов. Серверную часть установили, теперь для отправки биллингических логов требуется настроить log4j.xml примерно следующим образом:
Код:
<appender name="sentry" class="net.kencochrane.raven.log4j.SentryAppender">
<param name="dsn" value="https://xxx:yyy@remote_server_with_sentry/zzz?raven.async.queuesize=100"/>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="ERROR"/>
</filter>
</appender>
На что получаем при рестарте сервера биллинга ошибку:
Код:
log4j:ERROR Could not create an Appender. Reported error follows.
java.lang.ClassNotFoundException: net.kencochrane.raven.log4j.SentryAppender
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)
at org.apache.log4j.helpers.Loader.loadClass(Loader.java:179)
at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:237)
at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:171)
at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:184)
at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:274)
at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:171)
at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:184)
at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:502)
at org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:471)
at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:921)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:790)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:682)
at org.apache.log4j.xml.XMLWatchdog.doOnChange(DOMConfigurator.java:1033)
at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:89)
at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:58)
at org.apache.log4j.xml.XMLWatchdog.<init>(DOMConfigurator.java:1025)
at org.apache.log4j.xml.DOMConfigurator.configureAndWatch(DOMConfigurator.java:662)
at ru.bitel.common.logging.Log4j.<clinit>(Log4j.java:34)
at ru.bitel.common.logging.NestedContext.<clinit>(NestedContext.java:32)
at bitel.billing.server.Server.<init>(Server.java:333)
at bitel.billing.server.Server.main(Server.java:249)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at ru.bitel.common.bootstrap.Boot.boot(Boot.java:77)
at ru.bitel.common.bootstrap.Boot.main(Boot.java:125)
Что-нибудь можно сделать? Например, как-нибудь прикрутить к бг этот raven-log4j:
https://github.com/getsentry/raven-java ... aven-log4jИ да, у нас всё ещё BGBilling 5.1
