1010 */
1111public interface ILogStream {
1212
13+ /**
14+ * Specifies that the stream should determine the current timestamp itself.
15+ *
16+ * @since 1.1.3
17+ */
18+ long TIMESTAMP_NONE = -1 ;
19+
1320 /**
1421 * Thread-safe method used to write log messages to a stream.
1522 *
16- * @param timestampMs Usually System.currentTimeMillis() .
23+ * @param timestampNs Log timestamp in <b>nanoseconds</b> .
1724 * @param line Log content.
1825 * @param structuredMetadata The optional (nullable) {@link Labels} containing <a href="https://grafana.com/docs/loki/v3.4.x/get-started/labels/structured-metadata/">structured metadata</a> values.
19- * @since 1.1.0
26+ * @since 1.1.3
2027 */
21- void log (final long timestampMs , final String line , final Labels structuredMetadata );
28+ void log (final long timestampNs , final String line , final Labels structuredMetadata );
2229
2330 /**
2431 * Thread-safe log line with custom time.
2532 *
26- * @param timestampMs Log timestamp in milliseconds .
33+ * @param timestampNs Log timestamp in <b>nanoseconds</b> .
2734 * @param line Log content.
28- * @since 1.1.0
35+ * @since 1.1.3
2936 */
30- default void log (final long timestampMs , final String line ) {
31- log (timestampMs , line , null );
37+ default void log (final long timestampNs , final String line ) {
38+ log (timestampNs , line , null );
3239 }
3340
3441 /**
@@ -37,7 +44,7 @@ default void log(final long timestampMs, final String line) {
3744 * @param line Log content.
3845 */
3946 default void log (final String line ) {
40- log (System . currentTimeMillis () , line , null );
47+ log (TIMESTAMP_NONE , line , null );
4148 }
4249
4350 /**
@@ -48,7 +55,7 @@ default void log(final String line) {
4855 * @since 1.1.0
4956 */
5057 default void log (final String line , final Labels structuredMetadata ) {
51- log (System . currentTimeMillis () , line , structuredMetadata );
58+ log (TIMESTAMP_NONE , line , structuredMetadata );
5259 }
5360
5461 /**
0 commit comments