2014-10-07 62 views
1

我在Pivotal上使用標準buildpack,並且在使用'cf logs app_name'時根本沒有來自STDERR的日誌 - 例如沒有異常堆棧跟蹤。 我看了Loggregator(https://github.com/cloudfoundry/loggregator),那裏應該不會有問題。 我也確保我的CF_TRACE env變量被設置爲true,同時JBP_LOG_LEVEL和LOG_LEVEL爲DEBUG。Pivotal不顯示來自STDERR的日誌

我已經設置了測試儀的應用上舉足輕重的簡單的Tomcat的servlet:

import java.io.IOException; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

@WebServlet(value="/errTest", name="err-test") 
public class ErrTestServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 
    public void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException { 
    System.out.println("System.out TEST"); 
    System.err.println("System.err TEST 1"); 
    System.err.flush(); 
    System.err.println("System.err TEST 2"); 
    } 
} 

具有以下的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation= 
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>errTesting</groupId> 
    <artifactId>errTesting</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.1</version> 
     <configuration> 
      <source>1.7</source> 
      <target>1.7</target> 
     </configuration> 
     </plugin> 
     <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
      <warSourceDirectory>WebContent</warSourceDirectory> 
      <failOnMissingWebXml>false</failOnMissingWebXml> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    <dependencies> 
    <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.0.1</version> 
      <scope>provided</scope> 
    </dependency> 
    </dependencies> 
</project> 

在樞紐(CF日誌)有以下的輸出:

2014-10-08T12:55:28.63 + 0200 [應用/ 0] OUT的System.out TEST

而在localhost:

System.err的測試1的System.out TEST System.err的TEST 2

是否有我可能已經錯過了任何配置選項?

回答

0

任何發送到STDERR(並在必要時刷新)的內容將顯示在RED中的cf logs(loggregator)中。任何發送到STDOUT(並在必要時刷新)的內容都將顯示爲沒有顏色。

如果他們沒有出現,也許嘗試一些明確的沖洗? (System.err.flush()也許?)

+0

它不起作用,問題可能在Tomcat配置中,儘管我已經嘗試將INFO中的default_log_level(logging.yml)更改爲DEBUG,但它也不起作用。 – 2014-10-07 18:23:05