/*
* Copyright (c) 2012-2014 Spotify AB
*
* 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 com.spotify.logging;
import uk.co.flamingpenguin.jewel.cli.Option;
/**
* This is the interface to have your options interface extend when using
* JewelCliLoggingConfigurator to configure logging based on the resulting options.
*/
public interface JewelCliLoggingOptions {
@Option(longName = "syslog", description = "Log to syslog in addition to stderr")
boolean syslog();
@Option(longName = "syslogHost", defaultValue = "",
description = "Log to syslog at specified host in addition to stderr")
String syslogHost();
@Option(longName = "syslogPort", defaultValue = "-1",
description = "Log to syslog at specified port in addition to stderr")
int syslogPort();
@Option(longName = "trace", description = "Set log level to TRACE")
boolean trace();
@Option(longName = "debug", description = "Set log level to DEBUG")
boolean debug();
@Option(longName = "info", description = "Set log level to INFO")
boolean info();
@Option(longName = "warn", description = "Set log level to WARN")
boolean warn();
@Option(longName = "error", description = "Set log level to ERROR")
boolean error();
@Option(longName = "ident", description = "Set ident",
defaultValue = LoggingConfigurator.DEFAULT_IDENT)
String ident();
@Option(longName = "logconfig",
description = "Set log configuration according to a logback configuration file",
defaultValue = "")
String logFileName();
}