//#####################################################################
// Copyright 2004, Frank Losasso, Andrew Selle.
// This file is part of PhysBAM whose distribution is governed by the license contained in the accompanying file PHYSBAM_COPYRIGHT.txt.
//#####################################################################
#include "LOG_ENTRY.h"
using namespace PhysBAM;
//#####################################################################
bool LOG_ENTRY::start_on_separate_line = false;
bool LOG_ENTRY::log_file_start_on_separate_line = false;
bool LOG_ENTRY::needs_indent = true;
bool LOG_ENTRY::log_file_needs_indent = true;
//#####################################################################
