summaryrefslogtreecommitdiffstats
path: root/log4j/src/main/java/org
diff options
context:
space:
mode:
authorsg481n <sg481n@att.com>2017-08-24 00:58:40 -0400
committersg481n <sg481n@att.com>2017-08-24 00:58:47 -0400
commitbfc9888bc95e567d7c1a02306254099283827988 (patch)
tree7487879a71ffff3bdbbfbee91e859c23edb223d3 /log4j/src/main/java/org
parent1a5c49361172e5ed0b6d3339191f0a064a765954 (diff)
Update project structure to org.onap.aaf
Update package structure from com.att to org.onap.aaf and add distribution management and repositories. Issue-id: AAF-23 Change-Id: I1b2381a58b08d147a0dfffd086aabd37ecfc3090 Signed-off-by: sg481n <sg481n@att.com>
Diffstat (limited to 'log4j/src/main/java/org')
-rw-r--r--log4j/src/main/java/org/onap/aaf/inno/env/log4j/LogFileNamer.java82
-rw-r--r--log4j/src/main/java/org/onap/aaf/inno/env/log4j/PIDAccess.java31
2 files changed, 113 insertions, 0 deletions
diff --git a/log4j/src/main/java/org/onap/aaf/inno/env/log4j/LogFileNamer.java b/log4j/src/main/java/org/onap/aaf/inno/env/log4j/LogFileNamer.java
new file mode 100644
index 0000000..e1abe10
--- /dev/null
+++ b/log4j/src/main/java/org/onap/aaf/inno/env/log4j/LogFileNamer.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * ============LICENSE_START====================================================
+ * * org.onap.aaf
+ * * ===========================================================================
+ * * Copyright © 2017 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====================================================
+ * *
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * *
+ ******************************************************************************/
+package org.onap.aaf.inno.env.log4j;
+
+import java.io.File;
+import java.net.URL;
+
+public class LogFileNamer {
+ public static final int pid = PIDAccess.INSTANCE.getpid();
+ public final String root;
+ private boolean printPID;
+
+ public LogFileNamer(String root) {
+ if(root==null || "".equals(root) || root.endsWith("/")) {
+ this.root = root;
+ } else {
+ this.root = root + "-";
+ }
+ printPID=true;
+ }
+
+ public LogFileNamer noPID() {
+ printPID = false;
+ return this;
+ }
+ /**
+ * Accepts a String.
+ * If Separated by "|" then first part is the Appender name, and the second is used in the FileNaming
+ * (This is to allow for shortened Logger names, and more verbose file names)
+ *
+ * @param appender
+ *
+ * returns the String Appender
+ */
+ public String setAppender(String appender) {
+ int pipe = appender.indexOf('|');
+ if(pipe>=0) {
+ String rv;
+ System.setProperty(
+ "LOG4J_FILENAME_"+(rv=appender.substring(0,pipe)),
+ root + appender.substring(pipe+1) + (printPID?('-' + pid):"") + ".log");
+ return rv;
+ } else {
+ System.setProperty(
+ "LOG4J_FILENAME_"+appender,
+ root + appender + (printPID?('-' + pid):"") + ".log");
+ return appender;
+ }
+
+ }
+
+ public void configure(String props) {
+ String fname;
+ if(new File(fname="etc/"+props).exists()) {
+ org.apache.log4j.PropertyConfigurator.configureAndWatch(fname,60*1000);
+ } else {
+ URL rsrc = ClassLoader.getSystemResource(props);
+ if(rsrc==null) System.err.println("Neither File: " + fname + " or resource on Classpath " + props + " exist" );
+ org.apache.log4j.PropertyConfigurator.configure(rsrc);
+ }
+ }
+}
diff --git a/log4j/src/main/java/org/onap/aaf/inno/env/log4j/PIDAccess.java b/log4j/src/main/java/org/onap/aaf/inno/env/log4j/PIDAccess.java
new file mode 100644
index 0000000..1a949a7
--- /dev/null
+++ b/log4j/src/main/java/org/onap/aaf/inno/env/log4j/PIDAccess.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * ============LICENSE_START====================================================
+ * * org.onap.aaf
+ * * ===========================================================================
+ * * Copyright © 2017 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====================================================
+ * *
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * *
+ ******************************************************************************/
+package org.onap.aaf.inno.env.log4j;
+
+import com.sun.jna.Library;
+import com.sun.jna.Native;
+
+public interface PIDAccess extends Library {
+ PIDAccess INSTANCE = (PIDAccess) Native.loadLibrary("c", PIDAccess.class);
+ int getpid ();
+}