Packaging setup: DMG distribution + proper log location

logback.xml: write to ~/Library/Logs/PhotoPhetch/ (standard macOS
app log location), rolling 7-day retention, 50MB cap. Console output
retained for development runs.

build.gradle.kts: fix packaging config — remove missing icon.icns
reference, add copyright, add signing block (disabled by default).

To build:
  ./gradlew packageDmg
  # Output: build/compose/binaries/main/dmg/PhotoPhetch-1.0.0.dmg

Logs viewable in Console.app or:
  tail -f ~/Library/Logs/PhotoPhetch/photophetch.log
This commit is contained in:
Kyle Bolen
2026-08-02 03:12:44 +00:00
parent dc32a3a3d7
commit c34e1201ab
2 changed files with 28 additions and 2 deletions

View File

@@ -1,13 +1,34 @@
<configuration>
<!-- Console output for development (./gradlew run) -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss} [%-5level] %logger{20} - %msg%n</pattern>
</encoder>
</appender>
<!-- Rolling file output for packaged app -->
<!-- Writes to ~/Library/Logs/PhotoPhetch/ on macOS (standard location) -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${user.home}/Library/Logs/PhotoPhetch/photophetch.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- Keep 7 days of logs, max 10MB per file -->
<fileNamePattern>${user.home}/Library/Logs/PhotoPhetch/photophetch.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>7</maxHistory>
<totalSizeCap>50MB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%-5level] %logger{30} - %msg%n</pattern>
</encoder>
</appender>
<!-- photophetch package: DEBUG in dev, INFO when packaged -->
<logger name="com.bolenpad.photophetch" level="DEBUG" />
<!-- Always write to file; console only in dev -->
<root level="WARN">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
<logger name="com.bolenpad.photophetch" level="DEBUG" />
</configuration>