差異處
這裏顯示兩個版本的差異處。
java:log4j:extend_appender [2017/01/22 12:28] tony [How to?] |
java:log4j:extend_appender [2023/06/25 09:48] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | {{tag>java log4j}} | ||
- | ====== Extend the appender (Working) ====== | ||
- | ===== Problem ===== | ||
- | 我替老婆做了某個遊戲外掛,然後我希望能把log內容顯示在畫面上,例如:\\ | ||
- | {{:java:log4j:log4j_extend_appender_result.png|}}\\ | ||
- | 我想透過log4j去通知畫面更新而不是再另開一個api;本篇文章主要告訴大家extend log4j appender的方法去達到這個目的。 | ||
- | ===== How to? ===== | ||
- | 原先我的Subject是目前工作的狀態,負責通知的是工作的controller;而Observer則是UI,實作以下介面,Subject有變動會通知它: | ||
- | <code java> | ||
- | public interface IStateChangedListener { | ||
- | void update(Object[] messages); | ||
- | } | ||
- | |||
- | public class MessageTable extends JTable implements IStateChangedListener { | ||
- | // 略 | ||
- | } | ||
- | </code> | ||
- | |||
- | ===== Reference ===== | ||
- | * [[https://gist.github.com/kengelke/4664612|GitHub - CachingSingletonAppender]] | ||
- | |||
- | |||
- | |||