--- old/src/share/vm/logging/logDiagnosticCommand.cpp 2015-11-02 22:10:48.855155500 +0900 +++ new/src/share/vm/logging/logDiagnosticCommand.cpp 2015-11-02 22:10:48.561155500 +0900 @@ -35,13 +35,15 @@ _what("what", "Configures what tags to log.", "STRING", false), _decorators("decorators", "Configures which decorators to use. Use 'none' or an empty value to remove all.", "STRING", false), _disable("disable", "Turns off all logging and clears the log configuration.", "BOOLEAN", false), - _list("list", "Lists current log configuration.", "BOOLEAN", false) { + _list("list", "Lists current log configuration.", "BOOLEAN", false), + _rotate("rotate", "Rotates all logs.", "BOOLEAN", false) { _dcmdparser.add_dcmd_option(&_output); _dcmdparser.add_dcmd_option(&_output_options); _dcmdparser.add_dcmd_option(&_what); _dcmdparser.add_dcmd_option(&_decorators); _dcmdparser.add_dcmd_option(&_disable); _dcmdparser.add_dcmd_option(&_list); + _dcmdparser.add_dcmd_option(&_rotate); } int LogDiagnosticCommand::num_arguments() { @@ -86,6 +88,11 @@ any_command = true; } + if (_rotate.has_value()) { + LogConfiguration::rotate_all_outputs(); + any_command = true; + } + if (!any_command) { // If no argument was provided, print usage print_help(LogDiagnosticCommand::name());