diff options
Diffstat (limited to 'mdbc-benchmark/src')
5 files changed, 0 insertions, 1040 deletions
diff --git a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/BenchmarkUtils.java b/mdbc-benchmark/src/main/java/org/onap/music/mdbc/BenchmarkUtils.java deleted file mode 100644 index 06f2a95..0000000 --- a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/BenchmarkUtils.java +++ /dev/null @@ -1,245 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END====================================================== - */ -package org.onap.music.mdbc; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.Properties; - -public class BenchmarkUtils { - public static final String driver = "org.apache.calcite.avatica.remote.Driver"; - public static final String mariaDriver = "org.mariadb.jdbc.Driver"; - public static final String postgresDriver = "org.postgresql.Driver"; - public static String TABLE; - public static String updateBuilder; - - public enum ExecutionType { - MARIA_DB, COCKROACH_DB, METRIC,POSTGRES - } - - public static void SetupTable(String table){ - TABLE=table; - updateBuilder = new StringBuilder() - .append("UPDATE ") - .append(table) - .append(" SET Counter = Counter + 1,") - .append("City = 'Sandy Springs'") - .append(";").toString(); - } - - public static void setupCreateTables(Connection connection){ - createTable(connection); - try { - connection.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - public static void setupCreateRows(Connection testConnection, int rows){ - //Empty database - boolean cleanResult = BenchmarkUtils.cleanTable(testConnection); - //Add new lines - BenchmarkUtils.addRowsToTable(Integer.valueOf(rows),testConnection); - - //Commit - try { - testConnection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - public static Connection getConnection(String ip, ExecutionType type, String user, String password) { - final String connectionUrl = "jdbc:avatica:remote:url=http://" + ip + ":30000;serialization=protobuf"; - final String mariaConnectionUrl = "jdbc:mariadb://" + ip + ":3306/test"; - final String cockroachUrl = "jdbc:postgresql://" + ip + ":26257/test"; - final String postgresUrl = "jdbc:postgresql://" + ip + ":5432/test"; - - try { - switch (type) { - case MARIA_DB: - Class.forName(mariaDriver); - break; - case METRIC: - Class.forName(driver); - break; - case COCKROACH_DB: - case POSTGRES: - Class.forName(postgresDriver); - break; - } - } catch (ClassNotFoundException e) { - e.printStackTrace(); - System.exit(1); - } - Connection connection = null; - try { - if (type == ExecutionType.METRIC) { - connection = DriverManager.getConnection(connectionUrl); - } else { - Properties connectionProps = new Properties(); - connectionProps.put("user", user); - if (type == ExecutionType.COCKROACH_DB) { - connectionProps.setProperty("sslmode", "disable"); - } else { - connectionProps.put("password", password); - } - final String url = (type == ExecutionType.MARIA_DB) ? mariaConnectionUrl : - (type == ExecutionType.COCKROACH_DB)?cockroachUrl:postgresUrl; - connection = DriverManager.getConnection(url, connectionProps); - } - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - connection.setAutoCommit(false); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - return connection; - } - - public static void createTable(Connection connection) { - final String sql = "CREATE TABLE IF NOT EXISTS "+TABLE+" (\n" + - " PersonID int,\n" + - " Counter int,\n" + - " LastName varchar(255),\n" + - " FirstName varchar(255),\n" + - " Address varchar(255),\n" + - " City varchar(255),\n" + - " PRIMARY KEY(PersonID)"+ - ");"; - - Statement stmt = null; - try { - stmt = connection.createStatement(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - - Boolean execute = null; - try { - execute = stmt.execute(sql); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - - try { - connection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - - try { - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - public static boolean cleanTable(Connection testConnection) { - String cleanCmd = "DELETE FROM "+TABLE+";"; - Statement stmt = null; - try { - stmt = testConnection.createStatement(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - - Boolean execute = null; - try { - execute = stmt.execute(cleanCmd); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - testConnection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - return execute; - } - - public static void addRowsToTable(int totalNumberOfRows, Connection testConnection) { - for (int i = 0; i < totalNumberOfRows; i++) { - final StringBuilder insertSQLBuilder = new StringBuilder() - .append("INSERT INTO "+TABLE+" VALUES (") - .append(i) - .append(", ") - .append(0) - .append(", '") - .append("Last-") - .append(i) - .append("', '") - .append("First-") - .append(i) - .append("', 'KACB', 'ATLANTA');"); - Statement stmt = null; - try { - stmt = testConnection.createStatement(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - - Boolean execute = null; - try { - execute = stmt.execute(insertSQLBuilder.toString()); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - try { - testConnection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - -} diff --git a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricBenchmark.java b/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricBenchmark.java deleted file mode 100644 index 19db6f4..0000000 --- a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricBenchmark.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END====================================================== - */ -package org.onap.music.mdbc; - -import static org.onap.music.mdbc.BenchmarkUtils.setupCreateRows; -import static org.onap.music.mdbc.BenchmarkUtils.setupCreateTables; - -import org.onap.music.mdbc.BenchmarkUtils.ExecutionType; -import org.openjdk.jmh.annotations.*; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Connection; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.concurrent.TimeUnit; - -@BenchmarkMode({Mode.AverageTime, Mode.SampleTime}) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -@State(Scope.Benchmark) -public class MetricBenchmark { - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(MetricBenchmark.class.getSimpleName()) - .param("type", ExecutionType.METRIC.name()) - .forks(0) - .threads(1) - .build(); - new Runner(opt).run(); - } - - @Benchmark - public boolean testMethod(MyState state, Blackhole blackhole) { - Statement stmt = null; - try { - stmt = state.testConnection.createStatement(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - - Boolean execute = null; - try { - execute = stmt.execute(state.update); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - //TODO: check if state need to be consumed by blackhole to guarantee execution - state.testConnection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - blackhole.consume(execute); - return execute; - } - - - @State(Scope.Benchmark) - public static class MyState { - public String update; - public final String driver = "org.apache.calcite.avatica.remote.Driver"; - public final String mariaDriver = "org.mariadb.jdbc.Driver"; - public final String cockroachDriver = "org.postgresql.Driver"; - final String user = "root"; - final String password = "metriccluster"; - @Param({"104.209.240.219"}) - public String ip; - @Param({"PERSONS"}) - public String table; - @Param({"1", "10", "50", "80", "100", "200", "300", "400"}) - public int rows; - @Param({"MARIA_DB", "COCKROACH_DB", "METRIC", "POSTGRES"}) - public ExecutionType type; - - public Connection testConnection; - - - private Connection createConnection() { - return BenchmarkUtils.getConnection(ip,type,user,password); - } - - @Setup(Level.Trial) - public void doTrialSetup(){ - BenchmarkUtils.SetupTable(table); - update = BenchmarkUtils.updateBuilder; - } - - @Setup(Level.Iteration) - public void doSetup() { - Connection connection = createConnection(); - setupCreateTables(connection); - //Setup connection - testConnection = createConnection(); - setupCreateRows(testConnection,rows); - - } - - @TearDown(Level.Iteration) - public void doTearDown() { - System.out.println("Do TearDown"); - try { - testConnection.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - - } -} diff --git a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java b/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java deleted file mode 100644 index 803a162..0000000 --- a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END====================================================== - */ -package org.onap.music.mdbc; - -import static org.onap.music.mdbc.BenchmarkUtils.setupCreateRows; -import static org.onap.music.mdbc.BenchmarkUtils.setupCreateTables; - -import org.onap.music.mdbc.BenchmarkUtils.ExecutionType; -import org.openjdk.jmh.annotations.*; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Connection; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.concurrent.TimeUnit; - -@BenchmarkMode({Mode.AverageTime, Mode.SampleTime}) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -@State(Scope.Benchmark) -public class MetricCommitBenchmark { - - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(MetricBenchmark.class.getSimpleName()) - .param("type", ExecutionType.METRIC.name()) - .forks(1) - .threads(1) - .build(); - new Runner(opt).run(); - } - - @Benchmark - public void testMethod(MyState state) { - try { - state.testConnection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - - @State(Scope.Benchmark) - public static class MyState { - - String update; - final String user = "root"; - final String password = "metriccluster"; - @Param({"104.209.240.219"}) - public String ip; - @Param({"1", "10", "50", "80", "100", "200", "300", "400"}) - public int rows; - @Param({"MARIA_DB", "COCKROACH_DB", "METRIC","POSTGRES"}) - public ExecutionType type; - @Param({"PERSONS"}) - public String table; - - public Connection testConnection; - - public Statement stmt; - - private Connection createConnection() { - return BenchmarkUtils.getConnection(ip,type,user,password); - } - - @Setup(Level.Trial) - public void doTrialSetup(){ - BenchmarkUtils.SetupTable(table); - update=BenchmarkUtils.updateBuilder; - } - - @Setup(Level.Invocation) - public void doInvocationSetup(){ - try { - stmt = testConnection.createStatement(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - Boolean execute = null; - try { - execute = stmt.execute(update); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - @TearDown(Level.Invocation) - public void doInvocationTearDown(){ - try { - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - @Setup(Level.Iteration) - public void doSetup() { - Connection connection = createConnection(); - setupCreateTables(connection); - //Setup connection - testConnection = createConnection(); - setupCreateRows(testConnection,rows); - } - - @TearDown(Level.Iteration) - public void doTearDown() { - System.out.println("Do TearDown"); - try { - testConnection.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - } -} diff --git a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricStatementBenchmark.java b/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricStatementBenchmark.java deleted file mode 100644 index 7dc950a..0000000 --- a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricStatementBenchmark.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * ============LICENSE_START==================================================== - * org.onap.music.mdbc - * ============================================================================= - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ============================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END====================================================== - */ -package org.onap.music.mdbc; - -import static org.onap.music.mdbc.BenchmarkUtils.setupCreateRows; -import static org.onap.music.mdbc.BenchmarkUtils.setupCreateTables; - -import org.onap.music.mdbc.BenchmarkUtils.ExecutionType; -import org.openjdk.jmh.annotations.*; -import org.openjdk.jmh.infra.Blackhole; -import org.openjdk.jmh.runner.Runner; -import org.openjdk.jmh.runner.RunnerException; -import org.openjdk.jmh.runner.options.Options; -import org.openjdk.jmh.runner.options.OptionsBuilder; - -import java.sql.Connection; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.concurrent.TimeUnit; - -@BenchmarkMode({Mode.AverageTime, Mode.SampleTime}) -@OutputTimeUnit(TimeUnit.MILLISECONDS) -@State(Scope.Benchmark) -public class MetricStatementBenchmark { - - - public static void main(String[] args) throws RunnerException { - Options opt = new OptionsBuilder() - .include(MetricBenchmark.class.getSimpleName()) - .param("type", ExecutionType.METRIC.name()) - .forks(1) - .threads(1) - .build(); - new Runner(opt).run(); - } - - @Benchmark - public boolean testMethod(MyState state, Blackhole blackhole) { - Boolean execute = null; - try { - execute = state.stmt.execute(state.update); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - blackhole.consume(execute); - return execute; - } - - - @State(Scope.Benchmark) - public static class MyState { - - public String update; - final String user = "root"; - final String password = "metriccluster"; - @Param({"104.209.240.219"}) - public String ip; - @Param({"1", "10", "50", "80", "100", "200", "300", "400"}) - public int rows; - @Param({"MARIA_DB", "COCKROACH_DB", "METRIC","POSTGRES"}) - public ExecutionType type; - @Param({"PERSONS"}) - public String table; - - public Connection testConnection; - - public Statement stmt; - - private Connection createConnection() { - return BenchmarkUtils.getConnection(ip,type,user,password); - } - - @Setup(Level.Trial) - public void doTrialSetup(){ - BenchmarkUtils.SetupTable(table); - update=BenchmarkUtils.updateBuilder; - } - - @Setup(Level.Invocation) - public void doInvocationSetup(){ - try { - stmt = testConnection.createStatement(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - @TearDown(Level.Invocation) - public void doInvocationTearDown(){ - try { - //TODO: check if state need to be consumed by blackhole to guarantee execution - testConnection.commit(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - try { - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - - @Setup(Level.Iteration) - public void doSetup() { - Connection connection = createConnection(); - setupCreateTables(connection); - //Setup connection - testConnection = createConnection(); - setupCreateRows(testConnection,rows); - } - - @TearDown(Level.Iteration) - public void doTearDown() { - System.out.println("Do TearDown"); - try { - testConnection.close(); - } catch (SQLException e) { - e.printStackTrace(); - System.exit(1); - } - } - } -} diff --git a/mdbc-benchmark/src/main/resources/logback.xml b/mdbc-benchmark/src/main/resources/logback.xml deleted file mode 100755 index 4215681..0000000 --- a/mdbc-benchmark/src/main/resources/logback.xml +++ /dev/null @@ -1,369 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ============LICENSE_START========================================== - mdbc - =================================================================== - Copyright © 2017 AT&T Intellectual Property. All rights reserved. - =================================================================== - - Unless otherwise specified, all software contained herein is licensed - under the Apache License, Version 2.0 (the “License”); - you may not use this software except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - Unless otherwise specified, all documentation contained herein is licensed - under the Creative Commons License, Attribution 4.0 Intl. (the “License”); - you may not use this documentation except in compliance with the License. - You may obtain a copy of the License at - - https://creativecommons.org/licenses/by/4.0/ - - Unless required by applicable law or agreed to in writing, documentation - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - ============LICENSE_END============================================ - - - --> - -<configuration scan="false" scanPeriod="3 seconds" debug="true"> - <!-- - Logback files for the mdbc Driver "mdbc" - are created in directory ${catalina.base}/logs/mdbc; - e.g., apache-tomcat-8.0.35/logs/mdbc/application.log - --> - <!--<jmxConfigurator /> --> - - <!-- specify the component name --> - <property name="catalina.home" value="/var/log/metric/"/> - <property name="componentName" value="mdbc"></property> - - <!-- specify the base path of the log directory --> - <property name="logDirPrefix" value="${catalina.base}/logs"></property> - - <!-- The directories where logs are written --> - <property name="logDirectory" value="${logDirPrefix}/${componentName}"/> - <!-- Can easily relocate debug logs by modifying this path. --> - <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}"/> - - <!-- log file names --> - <property name="generalLogName" value="application"/> - <property name="errorLogName" value="error"/> - <property name="metricsLogName" value="metrics"/> - <property name="auditLogName" value="audit"/> - <property name="debugLogName" value="debug"/> - <!-- - These loggers are not used in code (yet). - <property name="securityLogName" value="security" /> - <property name="policyLogName" value="policy" /> - <property name="performanceLogName" value="performance" /> - <property name="serverLogName" value="server" /> - --> - - <!-- 1610 Logging Fields Format Revisions --> - <property name="auditLoggerPattern" - value="%X{AuditLogBeginTimestamp}|%X{AuditLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n"/> - - <property name="metricsLoggerPattern" - value="%X{MetricsLogBeginTimestamp}|%X{MetricsLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVisualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n"/> - - <property name="errorLoggerPattern" - value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ClassName}|%X{AlertSeverity}|%X{ErrorCode}|%X{ErrorDescription}| %msg%n"/> - - <property name="defaultLoggerPattern" - value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ClassName}| %msg%n"/> - - <!-- use %class so library logging calls yield their class name --> - <property name="applicationLoggerPattern" - value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%class{36}| %msg%n"/> - - <!-- Example evaluator filter applied against console appender --> - <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>${defaultLoggerPattern}</pattern> - </encoder> - </appender> - - <!-- ============================================================================ --> - <!-- EELF Appenders --> - <!-- ============================================================================ --> - - <!-- The EELFAppender is used to record events to the general application - log --> - - - <appender name="EELF" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${generalLogName}.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- daily rollover --> - <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern> - - <!-- keep 30 days' worth of history capped at 3GB total size --> - <maxHistory>30</maxHistory> - <totalSizeCap>3GB</totalSizeCap> - - </rollingPolicy> - <encoder> - <pattern>${applicationLoggerPattern}</pattern> - </encoder> - </appender> - - <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <!-- Class name is part of caller data --> - <includeCallerData>true</includeCallerData> - <appender-ref ref="EELF"/> - </appender> - - <!-- EELF Security Appender. This appender is used to record security events - to the security log file. Security events are separate from other loggers - in EELF so that security log records can be captured and managed in a secure - way separate from the other logs. This appender is set to never discard any - events. --> - <!-- - <appender name="EELFSecurity" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${securityLogName}.log</file> - <rollingPolicy - class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> - <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip - </fileNamePattern> - <minIndex>1</minIndex> - <maxIndex>9</maxIndex> - </rollingPolicy> - <triggeringPolicy - class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> - <maxFileSize>5MB</maxFileSize> - </triggeringPolicy> - <encoder> - <pattern>${defaultPattern}</pattern> - </encoder> - </appender> - - <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <discardingThreshold>0</discardingThreshold> - <appender-ref ref="EELFSecurity" /> - </appender> - --> - - <!-- EELF Performance Appender. This appender is used to record performance - records. --> - <!-- - <appender name="EELFPerformance" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${performanceLogName}.log</file> - <rollingPolicy - class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> - <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip - </fileNamePattern> - <minIndex>1</minIndex> - <maxIndex>9</maxIndex> - </rollingPolicy> - <triggeringPolicy - class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> - <maxFileSize>5MB</maxFileSize> - </triggeringPolicy> - <encoder> - <outputPatternAsHeader>true</outputPatternAsHeader> - <pattern>${defaultPattern}</pattern> - </encoder> - </appender> - <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFPerformance" /> - </appender> - --> - - <!-- EELF Server Appender. This appender is used to record Server related - logging events. The Server logger and appender are specializations of the - EELF application root logger and appender. This can be used to segregate Server - events from other components, or it can be eliminated to record these events - as part of the application root log. --> - <!-- - <appender name="EELFServer" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${serverLogName}.log</file> - <rollingPolicy - class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> - <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip - </fileNamePattern> - <minIndex>1</minIndex> - <maxIndex>9</maxIndex> - </rollingPolicy> - <triggeringPolicy - class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> - <maxFileSize>5MB</maxFileSize> - </triggeringPolicy> - <encoder> - <pattern>${defaultPattern}</pattern> - </encoder> - </appender> - <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFServer" /> - </appender> - --> - - <!-- EELF Policy Appender. This appender is used to record Policy engine - related logging events. The Policy logger and appender are specializations - of the EELF application root logger and appender. This can be used to segregate - Policy engine events from other components, or it can be eliminated to record - these events as part of the application root log. --> - <!-- - <appender name="EELFPolicy" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${policyLogName}.log</file> - <rollingPolicy - class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> - <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip - </fileNamePattern> - <minIndex>1</minIndex> - <maxIndex>9</maxIndex> - </rollingPolicy> - <triggeringPolicy - class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> - <maxFileSize>5MB</maxFileSize> - </triggeringPolicy> - <encoder> - <pattern>${defaultPattern}</pattern> - </encoder> - </appender> - <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFPolicy" /> - </appender> - --> - - <!-- EELF Audit Appender. This appender is used to record audit engine - related logging events. The audit logger and appender are specializations - of the EELF application root logger and appender. This can be used to segregate - Policy engine events from other components, or it can be eliminated to record - these events as part of the application root log. --> - - <appender name="EELFAudit" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${auditLogName}.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- daily rollover --> - <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern> - - <!-- keep 30 days' worth of history capped at 3GB total size --> - <maxHistory>30</maxHistory> - <totalSizeCap>3GB</totalSizeCap> - - </rollingPolicy> - <encoder> - <pattern>${auditLoggerPattern}</pattern> - </encoder> - </appender> - <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFAudit"/> - </appender> - - <appender name="EELFMetrics" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${metricsLogName}.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- daily rollover --> - <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern> - - <!-- keep 30 days' worth of history capped at 3GB total size --> - <maxHistory>30</maxHistory> - <totalSizeCap>3GB</totalSizeCap> - - </rollingPolicy> - <encoder> - <pattern>${metricsLoggerPattern}</pattern> - </encoder> - </appender> - - - <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFMetrics"/> - </appender> - - <appender name="EELFError" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${errorLogName}.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- daily rollover --> - <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern> - - <!-- keep 30 days' worth of history capped at 3GB total size --> - <maxHistory>30</maxHistory> - <totalSizeCap>3GB</totalSizeCap> - - </rollingPolicy> - <encoder> - <pattern>${errorLoggerPattern}</pattern> - </encoder> - </appender> - - <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFError"/> - </appender> - - <appender name="EELFDebug" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${debugLogDirectory}/${debugLogName}.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- daily rollover --> - <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern> - - <!-- keep 30 days' worth of history capped at 3GB total size --> - <maxHistory>30</maxHistory> - <totalSizeCap>3GB</totalSizeCap> - - </rollingPolicy> - <encoder> - <pattern>${defaultLoggerPattern}</pattern> - </encoder> - </appender> - - <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFDebug"/> - </appender> - - - <logger name="com.att.eelf" level="error" additivity="false"> - <appender-ref ref="asyncEELF"/> - </logger> - - <logger name="com.att.eelf" level="error" additivity="false"> - <appender-ref ref="asyncEELFAudit"/> - </logger> - - <logger name="com.att.eelf" level="error" additivity="false"> - <appender-ref ref="asyncEELFDebug"/> - </logger> - - <logger name="com.att.eelf.error" level="error" additivity="false"> - <appender-ref ref="asyncEELFError"/> - </logger> - - <logger name="com.att.eelf.metrics" level="error" additivity="false"> - <appender-ref ref="asyncEELFMetrics"/> - </logger> - - <root level="ERROR"> - <appender-ref ref="asyncEELF"/> - </root> - -</configuration> |