2015-06-26 3 views
1

Я использую Java 7, tomcat 7. Изучая ведение журнала сервлетов, я написал простую программу.Где отправляются сообщения ServletContext.log в tomcat 7?

package net.codejava; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.Servlet; 
import javax.servlet.ServletContext; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

/** 
* Servlet implementation class LogCheck 
*/ 
@WebServlet("/LogCheck") 
public class LogCheck extends HttpServlet { 
private static final long serialVersionUID = 1L; 

/** 
* @see HttpServlet#HttpServlet() 
*/ 
public LogCheck() { 
    super(); 
    // TODO Auto-generated constructor stub 
} 

/** 
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
*/ 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 

    ServletContext context = getServletContext(); 
    String par = request.getParameter("msg"); 

    if (par == null || par.equals("")){ 
     context.log("No Message received",new IllegalStateException("Missing Parameter")); 
    }else{ 
     context.log("Here is visitor's message:"+par); 
    } 

    PrintWriter out = response.getWriter(); 
    out.println("Log Testing."); 

} 

} 

Теперь я могу видеть сообщения журнала на моей консоли Eclipse. Но я не вижу файлы в папке Tomcat Home/logs? Но я читал, что он должен хранить сообщения журнала в некоторых файлах журнала. Я не вижу ни одного файла журнала в моем случае.

Я пропустил некоторые конфигурации? Пожалуйста, помогите

ответ

0

https://tomcat.apache.org/tomcat-7.0-doc/logging.html

Призывов javax.servlet.ServletContext.log (...) для записи журнала сообщения обрабатываются внутренним протоколирование Tomcat. Такие сообщения регистрируются в категории с именем

org.apache.catalina.core.ContainerBase. [$ {Engine}]. [$ {Host}]. [$ {Context}] Этот каротаж выполняется в соответствии с Конфигурация регистрации Tomcat. Вы не можете перезаписать его в веб-приложении.

Где журналы живут:

При запуске Tomcat на Unixes вывод консоли обычно перенаправляется в файл с именем catalina.out. Имя настраивается с использованием переменной среды. При работе в качестве службы в Windows вывод консоли также вызывается и перенаправляется, но имена файлов различаются.

+0

'При работе в качестве службы в Windows, вывод консоли также пойман и перенаправлен, но имена файлов разные'. Где я могу найти эти файлы? – user3427540

+0

ну, я пользователь mac, поэтому не знаю, но вы можете проверить это: http://stackoverflow.com/questions/8362280/where-is-tomcat-console-output-on-windows – Maks

2

Они будут регистрироваться в файле localhost. $ {Today} .log.

Как сказал Макс, ServletContext # журнал будет вошли в категорию org.apache.catalina.core.ContainerBase. и когда вы смотрите на настройки журналирования Tomcat в conf/logging.properties, вы увидите, что эти сообщения в файлы с префиксом localhost.

Смежные вопросы