You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by sa...@apache.org on 2018/10/23 00:07:34 UTC
[pulsar] branch master updated: Logs should be output to stdout
when running functions in Kubernetes (#2817)
This is an automated email from the ASF dual-hosted git repository.
sanjeevrk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 75d9fe2 Logs should be output to stdout when running functions in Kubernetes (#2817)
75d9fe2 is described below
commit 75d9fe2eeed76e7e085757e3facf0ee3db54959e
Author: Boyang Jerry Peng <je...@gmail.com>
AuthorDate: Mon Oct 22 19:07:29 2018 -0500
Logs should be output to stdout when running functions in Kubernetes (#2817)
* Logs should be ouputted to stdout when running functions in Kubernetes
* fix unittest
* adding space
---
.../functions/runtime/KubernetesRuntime.java | 2 +-
.../main/resources/kubernetes_instance_log4j2.yml | 53 ++++++++++++++++++++++
.../functions/runtime/KubernetesRuntimeTest.java | 2 +-
3 files changed, 55 insertions(+), 2 deletions(-)
diff --git a/pulsar-functions/runtime/src/main/java/org/apache/pulsar/functions/runtime/KubernetesRuntime.java b/pulsar-functions/runtime/src/main/java/org/apache/pulsar/functions/runtime/KubernetesRuntime.java
index 40ef003..7a11111 100644
--- a/pulsar-functions/runtime/src/main/java/org/apache/pulsar/functions/runtime/KubernetesRuntime.java
+++ b/pulsar-functions/runtime/src/main/java/org/apache/pulsar/functions/runtime/KubernetesRuntime.java
@@ -129,7 +129,7 @@ class KubernetesRuntime implements Runtime {
this.originalCodeFileName = pulsarRootDir + "/" + originalCodeFileName;
this.pulsarAdminUrl = pulsarAdminUrl;
this.processArgs = RuntimeUtils.composeArgs(instanceConfig, instanceFile, logDirectory, this.originalCodeFileName, pulsarServiceUrl, stateStorageServiceUrl,
- authConfig, "$" + ENV_SHARD_ID, GRPC_PORT, -1l, pulsarRootDir + "/conf/log4j2.yaml", installUserCodeDependencies);
+ authConfig, "$" + ENV_SHARD_ID, GRPC_PORT, -1l, "kubernetes_instance_log4j2.yml", installUserCodeDependencies);
this.prometheusMetricsServerArgs = composePrometheusMetricsServerArgs(prometheusMetricsServerJarFile, expectedMetricsInterval);
running = false;
doChecks(instanceConfig.getFunctionDetails());
diff --git a/pulsar-functions/runtime/src/main/resources/kubernetes_instance_log4j2.yml b/pulsar-functions/runtime/src/main/resources/kubernetes_instance_log4j2.yml
new file mode 100644
index 0000000..98ce897
--- /dev/null
+++ b/pulsar-functions/runtime/src/main/resources/kubernetes_instance_log4j2.yml
@@ -0,0 +1,53 @@
+#
+# 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.
+#
+
+Configuration:
+ name: pulsar-functions-kubernetes-instance
+ monitorInterval: 30
+
+ Properties:
+ Property:
+ - name: "pulsar.log.level"
+ value: "info"
+ - name: "bk.log.level"
+ value: "info"
+
+ Appenders:
+
+ # Console
+ Console:
+ name: Console
+ target: SYSTEM_OUT
+ PatternLayout:
+ Pattern: "%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"
+
+ Loggers:
+
+ Logger:
+ name: org.apache.pulsar.functions.runtime.shaded.org.apache.bookkeeper
+ level: "${sys:bk.log.level}"
+ additivity: false
+ AppenderRef:
+ - ref: Console
+
+ Root:
+ level: info
+ AppenderRef:
+ - ref: Console
+ level: "${sys:pulsar.log.level}"
diff --git a/pulsar-functions/runtime/src/test/java/org/apache/pulsar/functions/runtime/KubernetesRuntimeTest.java b/pulsar-functions/runtime/src/test/java/org/apache/pulsar/functions/runtime/KubernetesRuntimeTest.java
index 895a1e8..61cacca 100644
--- a/pulsar-functions/runtime/src/test/java/org/apache/pulsar/functions/runtime/KubernetesRuntimeTest.java
+++ b/pulsar-functions/runtime/src/test/java/org/apache/pulsar/functions/runtime/KubernetesRuntimeTest.java
@@ -124,7 +124,7 @@ public class KubernetesRuntimeTest {
assertEquals(args.size(), 28);
String expectedArgs = "java -cp " + javaInstanceJarFile
+ " -Dpulsar.functions.java.instance.jar=" + javaInstanceJarFile
- + " -Dlog4j.configurationFile=/pulsar/conf/log4j2.yaml "
+ + " -Dlog4j.configurationFile=kubernetes_instance_log4j2.yml "
+ "-Dpulsar.function.log.dir=" + logDirectory + "/" + FunctionDetailsUtils.getFullyQualifiedName(config.getFunctionDetails())
+ " -Dpulsar.function.log.file=" + config.getFunctionDetails().getName() + "-$SHARD_ID"
+ " org.apache.pulsar.functions.runtime.JavaInstanceMain"