<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-config/src/lib.rs, branch arti-v0.1.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.1.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.1.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-02-28T19:25:24Z</updated>
<entry>
<title>Add warnings about configuration stability.</title>
<updated>2022-02-28T19:25:24Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-28T19:25:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dd8cd0869178699d513cb4a384795f8cb544f16d'/>
<id>urn:sha1:dd8cd0869178699d513cb4a384795f8cb544f16d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Upgrade to newer version of config crate.</title>
<updated>2022-02-25T14:20:48Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-25T14:17:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a3bc59918d5cca780f87a12cfc30a4cd209a6cfc'/>
<id>urn:sha1:a3bc59918d5cca780f87a12cfc30a4cd209a6cfc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change deny(clippy::all) to warn(clippy::all).</title>
<updated>2022-02-14T14:24:06Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-14T14:24:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1cecc7e45a9a432f87a8f11abb8cb86b35464a0b'/>
<id>urn:sha1:1cecc7e45a9a432f87a8f11abb8cb86b35464a0b</id>
<content type='text'>
Closes #338.
</content>
</entry>
<entry>
<title>Fix a doc link.</title>
<updated>2022-02-04T21:03:39Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-04T21:03:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cf4edcac823d82e6e35fe9d6d7d94ff775a85dda'/>
<id>urn:sha1:cf4edcac823d82e6e35fe9d6d7d94ff775a85dda</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti-config: add blank lines between functions.</title>
<updated>2022-02-02T18:08:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-02T18:08:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e9f11987016d1339d92441c7fcc6b0dd5608e13b'/>
<id>urn:sha1:e9f11987016d1339d92441c7fcc6b0dd5608e13b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti-config: Small type and comment refactoring from review.</title>
<updated>2022-02-02T18:05:57Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-02T18:05:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=636d88b06d93d680d746440ab334d95029f72630'/>
<id>urn:sha1:636d88b06d93d680d746440ab334d95029f72630</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make configuration-watching configurable and off-by-default.</title>
<updated>2022-02-01T21:04:59Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-01T20:36:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1fbea7cd1e58af06eae5a65d6e6ca56a5cabb3f7'/>
<id>urn:sha1:1fbea7cd1e58af06eae5a65d6e6ca56a5cabb3f7</id>
<content type='text'>
I'm slightly concerned about whether this is behavior people would
expect to have on-by-default, so let's make this off-by-default for
now.

Maybe the `application` and `system` sections should merge?
</content>
</entry>
<entry>
<title>Reload configuration when our configuration files change.</title>
<updated>2022-02-01T21:04:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-01T18:30:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b4c3aaf362243459b4951a9a5fb4b95d839b0f62'/>
<id>urn:sha1:b4c3aaf362243459b4951a9a5fb4b95d839b0f62</id>
<content type='text'>
Closes #270
</content>
</entry>
<entry>
<title>arti_config: Refactor configuration sources into a struct</title>
<updated>2022-02-01T19:26:39Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-01T19:21:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=feab848509a25c4865ccb41e990a010ba33eaa44'/>
<id>urn:sha1:feab848509a25c4865ccb41e990a010ba33eaa44</id>
<content type='text'>
This is by no means our final API, but should represent an
improvement.  Here instead of having to specify a list of files and
their is-this-optional status, along with a list of command-line
options, we have a single structure that encapsulates all of that
information.

Two advantages here:

 - Callers no longer have to remember what the boolean means.
 - We can "reload" more easily, by keeping the source object around.

This change also implements the correct behavior for our default
configuration file in `arti::main`: if the file is absent and the
user doesn't list a config file, that's no problem.  But if the user
lists _that very same config file, we should insist that it be
present.
</content>
</entry>
<entry>
<title>Tracing configuration for logfiles, per-target filters</title>
<updated>2022-01-10T18:23:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-01-07T15:52:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1a16f5a7d63e63b606f8cc21ad948803ef1a8245'/>
<id>urn:sha1:1a16f5a7d63e63b606f8cc21ad948803ef1a8245</id>
<content type='text'>
Previously we could only configure one global tracing filter that
applied to stdout and journald.  There was no support for log files,
either.

This patch fixes both issues, by substantially revising the
configuration format: There are now separate filters for each log
file, for journald, and for the console log.  Because we want to
allow multiple logfiles, they have to go into an array in the
configuration.

The configuration logic has grown a bit complicated in its types,
since the tracing_subscriber crate would prefer to have the complete
structure of tracing Layers known statically. That's fine when you
know how many you have, and which kinds there will be, but for
the runtime-configuration case we need to mess around with
`Box&lt;dyn Layer ...&gt;`.

I also had to switch from tracing_subscriber's EnvFilter to its
Targets filter.  It seems "EnvFilter" can only be applied as a Layer
in itself, and won't work as a Filter on an individual Layer.

Closes #166.

Closes #170.
</content>
</entry>
</feed>
