You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/08/05 03:15:14 UTC
[23/50] incubator-ignite git commit: IGNITE-1182
control-center-agent: user should be able to specify loggin configuration.
IGNITE-1182 control-center-agent: user should be able to specify loggin configuration.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/4ea5f07f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/4ea5f07f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/4ea5f07f
Branch: refs/heads/ignite-843
Commit: 4ea5f07f330b9d68a93619c83196450644a025b2
Parents: c958a11
Author: sevdokimov <se...@gridgain.com>
Authored: Fri Jul 31 16:57:54 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri Jul 31 16:57:54 2015 +0300
----------------------------------------------------------------------
.../org/apache/ignite/agent/AgentLauncher.java | 7 +-
.../ignite/agent/LoggingConfigurator.java | 89 ++++++++++++++++++++
2 files changed, 90 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4ea5f07f/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java
index 141652e..5404448 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java
@@ -31,12 +31,7 @@ import java.util.logging.*;
public class AgentLauncher {
/** Static initializer. */
static {
- try {
- LogManager.getLogManager().readConfiguration(AgentLauncher.class.getResourceAsStream("/logging.properties"));
- }
- catch (IOException e) {
- throw new RuntimeException(e);
- }
+ LoggingConfigurator.configure();
}
/** */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4ea5f07f/modules/control-center-agent/src/main/java/org/apache/ignite/agent/LoggingConfigurator.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/LoggingConfigurator.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/LoggingConfigurator.java
new file mode 100644
index 0000000..93cc8a9
--- /dev/null
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/LoggingConfigurator.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+package org.apache.ignite.agent;
+
+import java.io.*;
+import java.net.*;
+import java.util.logging.*;
+
+/**
+ * Configurator for java.util.Logger.
+ */
+public class LoggingConfigurator {
+ /**
+ * Perform configure.
+ */
+ public static void configure() {
+ try {
+ if (System.getProperty("log.config.path") != null) {
+ File logCfg = new File(System.getProperty("log.config.path"));
+
+ if (!logCfg.isFile()) {
+ System.err.println("Failed to load loggin configuration, file not found: " + logCfg);
+
+ System.exit(1);
+ }
+
+ readConfiguration(logCfg);
+
+ return;
+ }
+
+ URL jarLogCfgUrl = AgentLauncher.class.getResource("/logging.properties");
+
+ String path = jarLogCfgUrl.getFile();
+
+ int jarSeparatorIdx = path.lastIndexOf("!/");
+
+ if (jarSeparatorIdx != -1) {
+ path = path.substring(0, jarSeparatorIdx);
+
+ if (path.startsWith("file:"))
+ path = path.substring("file:".length());
+
+ File jarFile = new File(path);
+
+ File logCfg = new File(jarFile.getParentFile(), "logging.properties");
+
+ if (logCfg.isFile()) {
+ readConfiguration(logCfg);
+
+ return;
+ }
+ }
+
+ LogManager.getLogManager().readConfiguration(AgentLauncher.class.getResourceAsStream("/logging.properties"));
+ }
+ catch (IOException e) {
+ System.err.println("Failed to load loggin configuration");
+
+ e.printStackTrace();
+
+ System.exit(1);
+ }
+ }
+
+ /**
+ * @param file File.
+ */
+ private static void readConfiguration(File file) throws IOException {
+ try (InputStream in = new BufferedInputStream(new FileInputStream(file))) {
+ LogManager.getLogManager().readConfiguration(in);
+ }
+ }
+}