Skip to content

Commit b62b564

Browse files
Update csv.md (#29)
* Update csv.md * Update elapsed.md * Update log.md
1 parent b3e29b7 commit b62b564

File tree

3 files changed

+14
-15
lines changed

3 files changed

+14
-15
lines changed

docs/lab/smt/csv.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ case class Dimension(key: String, value: String)
7575
### CSV字符串转Scala
7676

7777
```scala
78-
val metrics: List[Option[Metric]] = ScalableBuilder[Metric]
78+
val metrics: List[Option[Metric]] = ReaderBuilder[Metric]
7979
// setField用于设置dimensions字段应该怎样从CSV行的该列中被解析出来
8080
// dims值为字符串:{"city":"北京","os":"Mac"}
8181
// StringUtils.extraJsonValues 是默认提供的解析方法,当然也可以使用JSON,但是为了不依赖任何第三方库,我选择由用户指定如何解析,也更加灵活
@@ -91,7 +91,7 @@ val metrics: List[Option[Metric]] = ScalableBuilder[Metric]
9191
> 将上面的`metrics`转换为CSV行数据
9292
9393
```scala
94-
val csv: String = CsvableBuilder[Metric]
94+
val csv: String = WriterBuilder[Metric]
9595
.setField(
9696
_.dimensions,
9797
(ds: List[Dimension]) =>
@@ -106,7 +106,7 @@ val csv: String = CsvableBuilder[Metric]
106106

107107
```scala
108108
val metrics =
109-
ScalableBuilder[Metric]
109+
ReaderBuilder[Metric]
110110
.setField[Seq[Dimension]](
111111
_.dimensions,
112112
dims => StringUtils.extractJsonValues[Dimension](dims)((k, v) => Dimension(k, v))
@@ -176,10 +176,10 @@ implicit val format = new TsvFormat {
176176
}
177177
// 使用format隐藏参数
178178
// 这个例子没有使用setField,因为这里的Metric是case class Metric(time: Long, entity: Int, dimensions: String, metricName: String, metricValue: Int)
179-
val metrics = ScalableBuilder[Metric].convertFrom(ClassLoader.getSystemResourceAsStream("simple_data_header.tsv"))
179+
val metrics = ReaderBuilder[Metric].convertFrom(ClassLoader.getSystemResourceAsStream("simple_data_header.tsv"))
180180
val file = new File("./simple_data_header.tsv")
181181
// 使用format隐藏参数
182-
CsvableBuilder[Metric].convertTo(metrics.filter(_.isDefined).map(_.get), file)
182+
WriterBuilder[Metric].convertTo(metrics.filter(_.isDefined).map(_.get), file)
183183
```
184184

185185
> 实际上CSV中也使用了默认的format隐式参数`implicit val defaultCsvFormat: CsvFormat = new DefaultCsvFormat {}`,如果像TSV这样自己定义一个,那么就会覆盖默认的隐式。

docs/lab/smt/elapsed.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,12 @@ nav:
2323

2424
```scala
2525
class A {
26-
// Duration和TimeUnit必须是全类名
27-
@elapsed(limit = 1, logLevel = org.bitlap.tools.LogLevel.WARN)
26+
@elapsed(limit = 1, logLevel = "warn") // warn info debug
2827
def helloScala1(t: String): Future[String] = {
2928
Future(t)(scala.concurrent.ExecutionContext.Implicits.global)
3029
}
3130

32-
@elapsed(limit = 1, logLevel = org.bitlap.tools.LogLevel.INFO)
31+
@elapsed(limit = 1, logLevel = "info")
3332
def helloScala2: String = Await.result(helloScala1("world"), Duration.Inf)
3433
}
3534
```

docs/lab/smt/log.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ nav:
1010

1111
**说明**
1212

13-
- `logType` 指定需要生成的`log`的类型。可选,默认`org.bitlap.tools.logs.LogType.JLog`
14-
- `LogType.JLog` 使用 `java.util.logging.Logger`
15-
- `LogType.Log4j2` 使用 `org.apache.logging.log4j.Logger`
16-
- `LogType.Slf4j` 使用 `org.slf4j.Logger`
17-
- `LogType.ScalaLoggingLazy` 基于 `scalalogging.LazyLogging` 实现,但字段被重命名为`log`
18-
- `LogType.ScalaLoggingStrict` 基于 `scalalogging.StrictLogging`实现, 但字段被重命名为`log`
13+
- `logType` 指定需要生成的`log`的类型。可选,默认`"JLog"`
14+
- `"JLog"` 使用 `java.util.logging.Logger`
15+
- `"Log4j2"` 使用 `org.apache.logging.log4j.Logger`
16+
- `"Slf4j"` 使用 `org.slf4j.Logger`
17+
- `"ScalaLoggingLazy"` 基于 `scalalogging.LazyLogging` 实现,但字段被重命名为`log`
18+
- `"ScalaLoggingStrict"` 基于 `scalalogging.StrictLogging`实现, 但字段被重命名为`log`
1919
- 支持普通类,单例对象。
2020

2121
**示例**
@@ -25,7 +25,7 @@ nav:
2525
log.info("hello")
2626
}
2727

28-
@log(logType=LogType.Slf4j)
28+
@log(logType="Slf4j")
2929
class TestClass6(val i: Int = 0, var j: Int) {
3030
log.info("hello world")
3131
}

0 commit comments

Comments
 (0)