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:
@@ -43,9 +43,14 @@ compose.desktop {
|
|||||||
packageVersion = "1.0.0"
|
packageVersion = "1.0.0"
|
||||||
description = "Import photos from phones into PhotoPhile"
|
description = "Import photos from phones into PhotoPhile"
|
||||||
vendor = "bolenpad"
|
vendor = "bolenpad"
|
||||||
|
copyright = "© 2026 Kyle Bolen"
|
||||||
macOS {
|
macOS {
|
||||||
bundleID = "com.bolenpad.photophetch"
|
bundleID = "com.bolenpad.photophetch"
|
||||||
iconFile.set(project.file("src/main/resources/icon.icns"))
|
// Uncomment and add icon.icns to src/main/resources/ for a custom icon:
|
||||||
|
// iconFile.set(project.file("src/main/resources/icon.icns"))
|
||||||
|
signing {
|
||||||
|
sign.set(false) // set true + add identity for App Store / Gatekeeper
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,34 @@
|
|||||||
<configuration>
|
<configuration>
|
||||||
|
|
||||||
|
<!-- Console output for development (./gradlew run) -->
|
||||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%d{HH:mm:ss} [%-5level] %logger{20} - %msg%n</pattern>
|
<pattern>%d{HH:mm:ss} [%-5level] %logger{20} - %msg%n</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</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">
|
<root level="WARN">
|
||||||
<appender-ref ref="CONSOLE" />
|
<appender-ref ref="CONSOLE" />
|
||||||
|
<appender-ref ref="FILE" />
|
||||||
</root>
|
</root>
|
||||||
|
|
||||||
<logger name="com.bolenpad.photophetch" level="DEBUG" />
|
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|||||||
Reference in New Issue
Block a user