Add log file and skeleton code for visualization data
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -7,3 +7,4 @@
|
||||
/.meghanada/
|
||||
*.csv
|
||||
/config/config.properties
|
||||
/logs/viz.log
|
||||
|
||||
@ -41,6 +41,13 @@ run {
|
||||
}
|
||||
}
|
||||
|
||||
task runViz(type: JavaExec) {
|
||||
dependsOn classes
|
||||
systemProperty 'logback.configurationFile', 'src/main/resources/logback.xml'
|
||||
classpath sourceSets.main.runtimeClasspath
|
||||
main = 'Viz'
|
||||
}
|
||||
|
||||
testlogger {
|
||||
theme 'standard'
|
||||
showStandardStreams true
|
||||
|
||||
@ -21,7 +21,8 @@ import ats.plugin.OHLCPlugInViewFactory;
|
||||
|
||||
|
||||
public class EsperProcessor implements TickProcessor {
|
||||
final Logger log = LoggerFactory.getLogger(EsperProcessor.class);
|
||||
static final Logger log = LoggerFactory.getLogger(EsperProcessor.class);
|
||||
static final Logger viz = LoggerFactory.getLogger(Viz.LOG_NAME);
|
||||
EPServiceProvider engine;
|
||||
TradingManager trader;
|
||||
|
||||
@ -49,6 +50,7 @@ public class EsperProcessor implements TickProcessor {
|
||||
|
||||
// addLogStatement("TickEvent");
|
||||
|
||||
addVizDataStreamHandler();
|
||||
addLogStreamHandler();
|
||||
|
||||
// respond to long entry events
|
||||
@ -161,6 +163,17 @@ public class EsperProcessor implements TickProcessor {
|
||||
return statement;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a simple EPL statement to the Esper engine that logs any
|
||||
* event that matches the event name.
|
||||
*/
|
||||
private EPStatement addVizDataStreamHandler() {
|
||||
return addStatement("select * from VizDataStream",
|
||||
(newData, oldData) -> {
|
||||
viz.info(newData[0].get("event").toString());
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a simple EPL statement to the Esper engine that logs any
|
||||
* event that matches the event name.
|
||||
|
||||
34
src/main/java/Viz.java
Normal file
34
src/main/java/Viz.java
Normal file
@ -0,0 +1,34 @@
|
||||
import java.util.StringJoiner;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Viz converts visualization log data into a graphical
|
||||
* representation.
|
||||
*/
|
||||
public class Viz {
|
||||
public static final String LOG_NAME = "viz-data";
|
||||
static final Logger log = LoggerFactory.getLogger("Viz");
|
||||
static final Logger viz = LoggerFactory.getLogger(LOG_NAME);
|
||||
|
||||
|
||||
/**
|
||||
* Run the converter.
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert event data to our preferred format. This format can be
|
||||
* placed into a log, which we can later read back in.
|
||||
*/
|
||||
public static String eventString(Object... objects) {
|
||||
StringJoiner sj = new StringJoiner(", ");
|
||||
for (Object o : objects) {
|
||||
sj.add(o != null ? o.toString() : "null");
|
||||
}
|
||||
return sj.toString();
|
||||
}
|
||||
}
|
||||
@ -15,21 +15,36 @@
|
||||
<pattern>%highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
|
||||
<!-- The primary log file. For all runtime messages. -->
|
||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||
<file>logs/run.log</file>
|
||||
<append>false</append>
|
||||
<encoder>
|
||||
<pattern>%date %-5level %logger{35}: %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
</appender>
|
||||
|
||||
<!-- Log file for visualization data. Read by the Viz app. -->
|
||||
<appender name="VIZ-FILE" class="ch.qos.logback.core.FileAppender">
|
||||
<file>logs/viz.log</file>
|
||||
<append>false</append>
|
||||
<encoder>
|
||||
<pattern>%msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- additivity=false ensures viz data only goes to the viz log -->
|
||||
<logger name="viz-data" level="DEBUG" additivity="false">
|
||||
<appender-ref ref="VIZ-FILE"/>
|
||||
</logger>
|
||||
|
||||
<root level="DEBUG">
|
||||
<appender-ref ref="STDOUT" />
|
||||
<appender-ref ref="FILE" />
|
||||
</root>
|
||||
</root>
|
||||
|
||||
<!-- We want error logging from this logger to go to an extra appender
|
||||
<!-- We want error logging from this logger to go to an extra appender
|
||||
It still inherits CONSOLE STDOUT from the root logger -->
|
||||
<!-- <logger name="junit" level="INFO"> -->
|
||||
<!-- <appender-ref ref="STDOUT" /> -->
|
||||
|
||||
Reference in New Issue
Block a user