私は、中規模のアプリケーションのロギングを、カスタム ソリューションからより標準的なソリューションに移行しようとしています。Logback と SLF4J を使用することに決め、ほとんどの Java コードを正常に移行しました。ただし、ロギングに単に System.out を使用する JSP がかなりあります。私は JSP をあまり扱ったことがなく、疑問に思い始めました。JSP で適切なロギングをどのように使用すればよいのでしょうか。
<%@page import="org.slf4j.Logger"%>
<%@page import="org.slf4j.LoggerFactory"%>
<%
Logger log = LoggerFactory.getLogger(getClass());
%>
<!-- ... -->
<%
log.info("Hello Logging!");
%>
これが最初に頭に浮かんだことですが、いくつかの点で間違っているようです。
- 非常に冗長で、既存の JSP を変換するには多くの作業が必要です。
- ページがレンダリングされるたびに LoggerFactory.getLogger() が呼び出されます (
logger
標準の Java クラスの静的フィールドとは対照的です)。 - ロガーの名前も、このようにあまり単純ではないものになると思います
JSP にログインするための標準やベスト プラクティスなどはありますか?
また、IIRC には、Log4J 用のある種の taglib がありました。SLF4J (または Logback) に似たものはありますか?