В C, статичном, имеет два значения, в зависимости от объема его использования. В глобальной области видимости, когда объект объявляется на уровне файла, это означает, что тот объект только видим в том файле.
В любом другом объеме это объявляет объект, который сохранит его значение между различными временами, что конкретный объем вводится. Например, если интервал объявляется в рамках процедуры:
void procedure(void)
{
static int i = 0;
i++;
}
значение 'я' инициализируюсь для обнуления на первом вызове к процедуре, и значение сохраняется в каждый последующий раз, когда процедуру называют. если бы 'я' был распечатан, то это произвело бы последовательность 0, 1, 2, 3...
Адаптировано из документации log4j:
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.SimpleLayout;
import org.apache.log4j.FileAppender;
public class SimpandFile {
static Logger logger = Logger.getLogger(SimpandFile.class);
public static void main(String args[]) {
// setting up a FileAppender dynamically...
SimpleLayout layout = new SimpleLayout();
FileAppender appender = new FileAppender(layout,"your filename",false);
logger.addAppender(appender);
logger.setLevel((Level) Level.DEBUG);
logger.debug("Here is some DEBUG");
logger.info("Here is some INFO");
logger.warn("Here is some WARN");
logger.error("Here is some ERROR");
logger.fatal("Here is some FATAL");
}
}