/** * Project: dubbo.registry.server-1.1.0-SNAPSHOT * * File Created at 2010-7-7 * * Copyright 1999-2010 Alibaba.com Croporation Limited. * All rights reserved. * * This software is the confidential and proprietary information of * Alibaba Company. ("Confidential Information"). You shall not * disclose such Confidential Information and shall use it only in * accordance with the terms of the license agreement you entered into * with Alibaba.com. */ package com.alibaba.dubbo.registry.common.util; import java.text.MessageFormat; import java.util.ResourceBundle; import com.alibaba.dubbo.common.logger.Logger; import com.alibaba.dubbo.common.logger.LoggerFactory; /** * MessageSource * * @author william.liangf */ public class MessageSource { // 日志输出 private static final Logger logger = LoggerFactory.getLogger(MessageSource.class); private final ResourceBundle resourceBundle; private final String errorPrefix; public MessageSource(ResourceBundle resourceBundle) { this(resourceBundle, null); } public MessageSource(ResourceBundle resourceBundle, String errorPrefix) { this.resourceBundle = resourceBundle; this.errorPrefix = errorPrefix == null ? "" : errorPrefix + " "; } public String getString(String key) { try { return resourceBundle.getString(key); } catch (Throwable t) { logger.warn(errorPrefix + t.getMessage(), t); return key; } } public String getString(String key, Object... args) { try { return new MessageFormat(resourceBundle.getString(key)).format(args); } catch (Throwable t) { logger.warn(errorPrefix + t.getMessage(), t); return key; } } }