forked from dashpay/dash
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge bitcoin#11781: Add
-debuglogfile
option
5a7c09a test: Add tests for `-debuglogfile` with subdirs (Anthony Towns) 4158734 doc: Update release notes for `-debuglogfile` (Wladimir J. van der Laan) 2323242 test: Add test for `-debuglogfile` (Wladimir J. van der Laan) cf5f432 Add `-debuglogfile` option (Wladimir J. van der Laan) Pull request description: This patch adds an option to configure the name and/or directory of the debug log file. The user can specify either a relative path, in which case the path is relative to the (network specific) data directory. They can also specify an absolute path to put the log anywhere else in the file system. Alternative to bitcoin#11741 that gets rid of the concept of a "log directory" by specifying the path for the specific kind of log, the debug log. Which happens to be the only kind of log we have at this point*, but a hypothetical new kind of log (say, an audit log) would get a new option. This has more flexibility than specifying a directory which has to contain all of them. \* excluding `db.log` which is internally generated by the wallet database library, but that one moves along with `-walletdir`. Tree-SHA512: 4434d0e598dc23504e5c9e67fdbaef56db4f0fd490f9f54fd503e69d4dda9b5b69c539e1794ed841e72161b7b1dc3374d2f1193dd431b057566750e56fd8f24b
- Loading branch information
1 parent
2726efd
commit 9634b5f
Showing
5 changed files
with
95 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
#!/usr/bin/env python3 | ||
# Copyright (c) 2017 The Bitcoin Core developers | ||
# Distributed under the MIT software license, see the accompanying | ||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
"""Test debug logging.""" | ||
|
||
import os | ||
|
||
from test_framework.test_framework import BitcoinTestFramework | ||
|
||
class LoggingTest(BitcoinTestFramework): | ||
def set_test_params(self): | ||
self.num_nodes = 1 | ||
self.setup_clean_chain = True | ||
|
||
def run_test(self): | ||
# test default log file name | ||
assert os.path.isfile(os.path.join(self.nodes[0].datadir, "regtest", "debug.log")) | ||
|
||
# test alternative log file name in datadir | ||
self.restart_node(0, ["-debuglogfile=foo.log"]) | ||
assert os.path.isfile(os.path.join(self.nodes[0].datadir, "regtest", "foo.log")) | ||
|
||
# test alternative log file name outside datadir | ||
tempname = os.path.join(self.options.tmpdir, "foo.log") | ||
self.restart_node(0, ["-debuglogfile=%s" % tempname]) | ||
assert os.path.isfile(tempname) | ||
|
||
# check that invalid log (relative) will cause error | ||
invdir = os.path.join(self.nodes[0].datadir, "regtest", "foo") | ||
invalidname = os.path.join("foo", "foo.log") | ||
self.stop_node(0) | ||
self.assert_start_raises_init_error(0, ["-debuglogfile=%s" % (invalidname)], | ||
"Error: Could not open debug log file") | ||
assert not os.path.isfile(os.path.join(invdir, "foo.log")) | ||
|
||
# check that invalid log (relative) works after path exists | ||
self.stop_node(0) | ||
os.mkdir(invdir) | ||
self.start_node(0, ["-debuglogfile=%s" % (invalidname)]) | ||
assert os.path.isfile(os.path.join(invdir, "foo.log")) | ||
|
||
# check that invalid log (absolute) will cause error | ||
self.stop_node(0) | ||
invdir = os.path.join(self.options.tmpdir, "foo") | ||
invalidname = os.path.join(invdir, "foo.log") | ||
self.assert_start_raises_init_error(0, ["-debuglogfile=%s" % invalidname], | ||
"Error: Could not open debug log file") | ||
assert not os.path.isfile(os.path.join(invdir, "foo.log")) | ||
|
||
# check that invalid log (absolute) works after path exists | ||
self.stop_node(0) | ||
os.mkdir(invdir) | ||
self.start_node(0, ["-debuglogfile=%s" % (invalidname)]) | ||
assert os.path.isfile(os.path.join(invdir, "foo.log")) | ||
|
||
|
||
if __name__ == '__main__': | ||
LoggingTest().main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters