位置:org.springframework.util
�实现接口:无
继承类:java.io.Write
作用:日志Log与字符流Writer的适配器

一、效果

传入指定Log对象,为提供的Log对象创建一个新的CommonsLogWriter,便于使用字符流记录日志语句。

二、API

  1. // 传入Log实现的构造器
  2. public CommonsLogWriter(Log logger) {
  3. Assert.notNull(logger, "Logger must not be null");
  4. this.logger = logger;
  5. }
  6. // 将给定字符添加到成员StringBuilder的实例中,如果是StringBuilder实例长度大于0且
  7. 给定字符是换行符,则调用Log成员的debug方法。
  8. public void write(char ch) {
  9. if (ch == '\n' && this.buffer.length() > 0) {
  10. this.logger.debug(this.buffer.toString());
  11. this.buffer.setLength(0);
  12. }
  13. else {
  14. this.buffer.append(ch);
  15. }
  16. }
  17. // 给定要记录日志的字符数组,并提供要写入日志的起始位置与截止长度。用于记录日志
  18. public void write(char[] buffer, int offset, int length) {
  19. for (int i = 0; i < length; i++) {
  20. char ch = buffer[offset + i];
  21. if (ch == '\n' && this.buffer.length() > 0) {
  22. this.logger.debug(this.buffer.toString());
  23. this.buffer.setLength(0);
  24. }
  25. else {
  26. this.buffer.append(ch);
  27. }
  28. }
  29. }

三、总结

一个典型的、简单的适配器模式具体实现。

四、补充


参考资料: CommonsLogWriter