APDPlat使用slf4j来做日志框架,由于slf4j不支持国际化日志,所以APDPlat使用自定义的APDPlatLogger类来支持国际化日志。使用方法如下:
1、构造日志对象
private static final APDPlatLogger LOG = new APDPlatLogger(SystemListener.class);
2、输出多语言日志
LOG.info("停止内存监视线程"); LOG.info("Stop memory monitor thread", Locale.ENGLISH); ...
可以看到,APDPlatLogger类是根据LOG.info方法的第二个参数来指定本条日志所使用的语言,那么这多条LOG.info日志是否都会输出呢?答案是不会都输出,只会输出一种语言的日志,那么如何切换语言呢?设计方法如下:
1、APDPlatLogger类实现了org.slf4j.Logger接口
public class APDPlatLogger implements Logger,Serializable{
2、在LOG.info方法的调用中,如果没有指定语言,则默认假定本条日志使用中文Locale.CHINA描述,APDPlatLogger 在输出每个等级的每条日志的时候都会判断是否应该输出,如何判断呢?
@Override public void info(String msg) { info(msg, Locale.CHINA); } public void info(String msg, Locale locale) { if(shouldOutput(locale)){ log.info(msg); } }
3、APDPlatLogger类有一个configLanguage字段,用来指定系统应该输出什么语言的日志,使用Locale对象的getLanguage()方法获取语言,configLanguage字段的值是怎么指定的呢?
private boolean shouldOutput(Locale specifyLanguage){ if(configLanguage==null){ return true; } return specifyLanguage.getLanguage().equals(configLanguage.getLanguage()); }
4、在系统启动的时候,SystemListener类会设置APDPlatLogger类的configLanguage字段的值,configLanguage字段的值来自哪里呢?
//指定日志输出语言 APDPlatLogger.setConfigLanguage(getLogLanguage()); public static Locale getLogLanguage(){ String language = getProperty("log.locale.language"); return Locale.forLanguageTag(language); }
5、configLanguage字段的值来自config.properties或config.local.properties配置文件,在配置文件中指定了使用什么语言的日志
#输出日志语言配置 #语言可选值有 #zh #en #fr #de #it #ja #ko #中文 log.locale.language=zh #英文 #log.locale.language=en
相关推荐
4)、ORM使用JPA,默认实现是Hibernate。 5)、内置搜索(OSEM)使用Compass。 6)、认证授权使用SpringSecurity。 7)、代码生成使用Freemarker。 8)、日志组件使用SLF4J和Logback。 9)、调度组件使用Quartz。 10...
APDPlat提供了web接口的数据库备份与恢复,支持手工操作和定时调度,可下载备份文件到本地,也可把备份文件发送到异地容错,极大地简化了数据库的维护工作。 设计目标: 1、多数据库支持 2、横切关注点隔离...
APDPlat应用级产品开发平台_共27张UML设计图
中文分词词典 适合最大正向匹配算法使用 共计548389条词语
(1)参与动机 (2)社会网络 (3)组织文化 (4)用户创新 (5)共享知识 (6)项目绩效 (7)控制变量
word分词是一个Java实现的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。 能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名等未登录词。 同时提供了Lucene...
检测lucene索引库是否正常,测试搜索,
##HtmlExtractor是一个Java实现的基于模板的网页结构化信息精准抽取组件,本身并不包含爬虫功能,但可被爬虫或其他程序调用以便更精准地对网页结构化信息进行抽取。##HtmlExtractor是为大规模分布式环境设计的,采用...
中文分词,word分词,附件是编译好的word-1.2.jar版本 maven依赖: <groupId>org.apdplat <artifactId>word <version>1.2 </dependency>