Makes sense. Sounds to me like option 3 is the way to go. Allows for flexible configuration and works by default. To be clear:

+ add a new config variable `logviewer.appender.name` whose value defaults to `"A1"`, and
+ logviewer will serve logs out of the parent directory of  `logviewer.appender.name`'s log file.

The only minor part that's still not clear to me is the behavior if the configured appender is not found or is not a `FileAppender`. Maybe just log a warning? Question is whether to use a fallback or throw an exception.