/*
* Copyright 2013 Eediom Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.araqne.logdb.client;
import java.util.Map;
/**
* 로그 수집기에서 수집되는 데이터를 실시간으로 테이블에 저장하도록 하는 테이블 저장 설정을 표현합니다.
*
* @author xeraph@eediom.com
*
*/
public class ArchiveConfig {
private String loggerName;
private String tableName;
private String host;
/**
* monitor primary logger and replicate primary logger status.
* node-name\namespace\name format.
*
* @since 0.8.6
*/
private String primaryLogger;
/**
* check backup logger status when system has been recovered.
* node-name\namespace\name format.
*
* @since 0.8.6
*/
private String backupLogger;
private Map<String, String> metadata;
private boolean enabled;
/**
* 로그 수집기 이름을 조회합니다.
*
* @return 로그 수집기 이름, 이름공간\이름 형식.
*/
public String getLoggerName() {
return loggerName;
}
/**
* 로그 수집기 이름을 설정합니다.
*
* @param loggerName
* 로그 수집기 이름, 이름공간\이름 형식.
*/
public void setLoggerName(String loggerName) {
this.loggerName = loggerName;
}
/**
* 테이블 이름을 반환합니다.
*
* @return 테이블 이름
*/
public String getTableName() {
return tableName;
}
/**
* 테이블 이름을 설정합니다.
*
* @param tableName
* 테이블 이름
*/
public void setTableName(String tableName) {
this.tableName = tableName;
}
/**
* 호스트 태그를 반환합니다.
*
* @return 호스트 태그
*/
public String getHost() {
return host;
}
/**
* 호스트 태그를 설정합니다. 호스트 태그 설정 시 _host 필드가 설정한 값으로 테이블 행마다 추가됩니다.
*
* @param host
* 호스트 태그
*/
public void setHost(String host) {
this.host = host;
}
/**
* 프라이머리 로그 수집기 이름을 반환합니다.
*
* @return 프라이머리 로그 수집기 이름. 노드\이름공간\이름 형식.
*/
public String getPrimaryLogger() {
return primaryLogger;
}
/**
* 프라이머리 로그 수집기 이름을 설정합니다.
*
* @param primaryLogger
* 프라이머리 로그 수집기 이름. 노드\이름공간\이름 형식.
*/
public void setPrimaryLogger(String primaryLogger) {
this.primaryLogger = primaryLogger;
}
/**
* 백업 로그 수집기 이름을 반환합니다.
*
* @return 백업 로그 수집기 이름. 노드\이름공간\이름 형식.
*/
public String getBackupLogger() {
return backupLogger;
}
/**
* 백업 로그 수집기 이름을 설정합니다.
*
* @param backupLogger
* 백업 로그 수집기 이름. 노드\이름공간\이름 형식.
*/
public void setBackupLogger(String backupLogger) {
this.backupLogger = backupLogger;
}
/**
* 메타데이터 목록을 반환합니다.
*
* @return 메타데이터 목록
*/
public Map<String, String> getMetadata() {
return metadata;
}
/**
* 메타데이터 목록을 설정합니다.
*
* @param metadata
* 메타데이터 목록
*/
public void setMetadata(Map<String, String> metadata) {
this.metadata = metadata;
}
/**
* 로그 저장 활성화 여부를 반환합니다.
*
* @return 활성화 여부
*/
public boolean isEnabled() {
return enabled;
}
/**
* 로그 저장 활성화 여부를 설정합니다.
*
* @param enabled
* 활성화 여부
*/
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
@Override
public String toString() {
return "logger=" + loggerName + ", table=" + tableName + ", enabled=" + enabled + ", host=" + host + ", primary logger="
+ primaryLogger + ", backup logger=" + backupLogger + ", metadata=" + metadata;
}
}