All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.getstream.logging.helper.stringify.kt Maven / Gradle / Ivy

/*
 * Copyright (c) 2014-2022 Stream.io Inc. All rights reserved.
 *
 * Licensed under the Stream License;
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package io.getstream.logging.helper

import io.getstream.logging.Priority
import java.io.PrintWriter
import java.io.StringWriter

private const val INITIAL_BUFFER_SIZE = 256

public fun Thread.stringify(): String {
    return "$name:$id"
}

public fun Priority.stringify(): String = when (this) {
    Priority.VERBOSE -> "V"
    Priority.DEBUG -> "D"
    Priority.INFO -> "I"
    Priority.WARN -> "W"
    Priority.ERROR -> "E"
    Priority.ASSERT -> "E"
}

public fun Throwable.stringify(): String {
    // Don't replace this with Log.getStackTraceString() - it hides
    // UnknownHostException, which is not what we want.
    val sw = StringWriter(INITIAL_BUFFER_SIZE)
    val pw = PrintWriter(sw, false)
    printStackTrace(pw)
    pw.flush()
    return sw.toString()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy