diff --git a/demo/desktop/src/jvmMain/kotlin/com/michaelflisar/lumberjack/demo/Main.kt b/demo/desktop/src/jvmMain/kotlin/com/michaelflisar/lumberjack/demo/Main.kt index ee93841..4adbc73 100644 --- a/demo/desktop/src/jvmMain/kotlin/com/michaelflisar/lumberjack/demo/Main.kt +++ b/demo/desktop/src/jvmMain/kotlin/com/michaelflisar/lumberjack/demo/Main.kt @@ -47,6 +47,9 @@ fun main() { val setup = FileLoggerSetup.Daily.create( folder = File(System.getProperty("user.dir")) ) + //val setup2= FileLoggerSetup.SingleFile.create( + // File(System.getProperty("user.dir"), "log.txt") + //) L.plant(FileLogger(setup)) application { diff --git a/library/extensions/composeviewer/src/commonMain/kotlin/com/michaelflisar/lumberjack/extensions/composeviewer/LumberjackView.kt b/library/extensions/composeviewer/src/commonMain/kotlin/com/michaelflisar/lumberjack/extensions/composeviewer/LumberjackView.kt index 262c1ad..89a5453 100644 --- a/library/extensions/composeviewer/src/commonMain/kotlin/com/michaelflisar/lumberjack/extensions/composeviewer/LumberjackView.kt +++ b/library/extensions/composeviewer/src/commonMain/kotlin/com/michaelflisar/lumberjack/extensions/composeviewer/LumberjackView.kt @@ -11,7 +11,6 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width -import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.rememberScrollState @@ -305,7 +304,8 @@ private fun Info(file: Path?, filteredCount: Int, totalCount: Int) { Row( modifier = Modifier.padding(horizontal = 16.dp, vertical = 8.dp), ) { - val size = (file?.let { FileSystem.SYSTEM.metadataOrNull(it) }?.size?.toDouble() ?: 0.0) / 1000.0 + val size = + (file?.let { FileSystem.SYSTEM.metadataOrNull(it) }?.size?.toDouble() ?: 0.0) / 1000.0 val info = ((size * 100).toInt() / 100.0).toString() + "kB" //val info = "%.2fkB".format((file?.length()?.toDouble() ?: 0.0) / 1000.0) diff --git a/library/loggers/lumberjack/file/src/commonMain/kotlin/com/michaelflisar/lumberjack/loggers/file/BaseFileLoggerSetup.kt b/library/loggers/lumberjack/file/src/commonMain/kotlin/com/michaelflisar/lumberjack/loggers/file/BaseFileLoggerSetup.kt index d8c9f63..00c6228 100644 --- a/library/loggers/lumberjack/file/src/commonMain/kotlin/com/michaelflisar/lumberjack/loggers/file/BaseFileLoggerSetup.kt +++ b/library/loggers/lumberjack/file/src/commonMain/kotlin/com/michaelflisar/lumberjack/loggers/file/BaseFileLoggerSetup.kt @@ -4,13 +4,11 @@ import com.michaelflisar.lumberjack.core.CommonIgnoredOnParcel import com.michaelflisar.lumberjack.implementation.LumberjackLogger import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.IO import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import okio.FileSystem import okio.Path import okio.Path.Companion.toPath -import okio.SYSTEM abstract class BaseFileLoggerSetup : FileLoggerSetup() { @@ -23,13 +21,18 @@ abstract class BaseFileLoggerSetup : FileLoggerSetup() { @CommonIgnoredOnParcel private var lastFileKey: String = "" + @CommonIgnoredOnParcel private var lastFileKeyChanged: Boolean = false override fun filePath(data: FileLogger.Event.Data): String { val lastPath = "${folder}/${fileBaseName}_${lastFileKey}.$fileExtension".toPath() val key = getFileKey(data, lastPath) - val path = "${folder}/${fileBaseName}_${key}.$fileExtension" + val path = if (key.isEmpty()) { + "${folder}/${fileBaseName}.$fileExtension" + } else { + "${folder}/${fileBaseName}_${key}.$fileExtension" + } if (key != lastFileKey) { lastFileKey = key lastFileKeyChanged = true @@ -40,7 +43,7 @@ abstract class BaseFileLoggerSetup : FileLoggerSetup() { abstract fun getFileKey(data: FileLogger.Event.Data, lastPath: Path): String abstract fun filterLogFilesToDelete(files: List): List - protected fun getKeyFromFile(file: Path) : String { + protected fun getKeyFromFile(file: Path): String { return file.name.dropLast(fileExtension.length + 1).replace(fileBaseName, "").substring(1) } diff --git a/library/loggers/lumberjack/file/src/jvmMain/kotlin/com/michaelflisar/lumberjack/loggers/file/FileLoggerSetup.kt b/library/loggers/lumberjack/file/src/jvmMain/kotlin/com/michaelflisar/lumberjack/loggers/file/FileLoggerSetup.kt index cd74790..9427e4f 100644 --- a/library/loggers/lumberjack/file/src/jvmMain/kotlin/com/michaelflisar/lumberjack/loggers/file/FileLoggerSetup.kt +++ b/library/loggers/lumberjack/file/src/jvmMain/kotlin/com/michaelflisar/lumberjack/loggers/file/FileLoggerSetup.kt @@ -40,4 +40,12 @@ fun FileLoggerSetup.SingleFile.Companion.create( folder.absolutePath, fileName, fileExtension +) + +fun FileLoggerSetup.SingleFile.Companion.create( + file: File +) = SingleFile( + file.parentFile.absolutePath, + file.nameWithoutExtension, + file.extension ) \ No newline at end of file