<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # RESTEasy + Tomcat 7 + Log4j 日志記錄示例 > 原文: [https://howtodoinjava.com/resteasy/resteasy-tomcat-7-log4j-logging-example/](https://howtodoinjava.com/resteasy/resteasy-tomcat-7-log4j-logging-example/) [**RESTEasy**](//howtodoinjava.com/restful-web-service/ "Resteasy tutorials") 在日志支持方面非常靈活。 它也可以與 log4j,slf4j 和`java.util.logging`協作。 用于確定需要使用哪個日志記錄框架的算法是: 1. 如果 log4j 在應用的類路徑中,則將使用 log4j 2. 如果 slf4j 在應用的類路徑中,則將使用 slf4j 3. 如果 log4j 或 slf4j 都不在類路徑中,則`java.util.logging`為默認值 4. 如果 servlet 上下文參數`resteasy.logger.type`設置為 JUL,LOG4J 或 SLF4J 將覆蓋此默認行為 在本文中,我們將學習在 tomcat 服務器中開發應用時使用 RESTEasy 進行 log4j 的開發。 **使用的環境:** * Tomcat 7 * Log4j 1.2.17 * RESTEasy JAX-RS 2.3.1.GA ## 配置 log4j 的步驟 **1)在項目**中包含依賴項 我正在添加 Maven 依賴項。 如果需要,您可以選擇包括 jar 文件。 ```java <!-- core library --> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>2.3.1.GA</version> </dependency> <dependency> <groupId>net.sf.scannotation</groupId> <artifactId>scannotation</artifactId> <version>1.0.2</version> </dependency> <!-- Log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> ``` **2)在類路徑中添加`log4j.properties`文件** log4j 文件中的最低配置可以是: ```java log4j.rootLogger=DEBUG, consoleAppender, fileAppender log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout log4j.appender.consoleAppender.layout.ConversionPattern=[%t] %-5p %c %x - %m%n log4j.appender.fileAppender=org.apache.log4j.RollingFileAppender log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout log4j.appender.fileAppender.layout.ConversionPattern=[%t] %-5p %c %x - %m%n log4j.appender.fileAppender.File=C:/logs/demoApplication.log ``` **3)在 API 方法中使用日志語句** **始終使用“`org.jboss.resteasy.logging.Logger`”**,因為它是使用上述給定算法進行配置的,因此完全將日志記錄框架的依賴項與應用代碼分離。 這意味著,如果您以后決定使用 slf4j 代替 log4j,則只需將 slf4j 放入運行時類路徑中,然后從類路徑中刪除 log4j。 而已 !! ```java import org.jboss.resteasy.logging.Logger; @XmlAccessorType(XmlAccessType.NONE) @XmlRootElement(name = "user-management") @Path("/user-management") public class UserService { Logger log = Logger.getLogger(UserService.class); @GET @Path("/users/{id : \d+}") public User getUserById(@PathParam("id") Integer id) { log.info("GET API called for id : " + id); User user = new User(); user.setId(id); user.setFirstName("demo"); user.setLastName("user"); return user; } } ``` **4)測試日志記錄** 調用上述 RESTFul API 會記錄以下事件: ```java [http-bio-8080-exec-3] INFO org.jboss.resteasy.plugins.server.servlet.ConfigurationBootstrap - Adding scanned resource: com.howtodoinjava.service.UserService [http-bio-8080-exec-3] DEBUG org.jboss.resteasy.core.SynchronousDispatcher - PathInfo: /user-management/users/10 [http-bio-8080-exec-3] INFO com.howtodoinjava.service.UserService - GET API called for id : 10 ``` **祝您學習愉快!**
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看