μ½λλ² μ΄μ€μλ μμνκΈ° μ¬μ΄ λ§μ κ³³μ printfκ° μμ§λ§ λ‘κ·Έλ₯Ό ꡬ문 λΆμνκ±°λ νν°λ§ ν λ λμ€μ λͺ¨λν°λ§ λ° μΆμ μ λ§μ λ¬Έμ κ° λ°μν©λλ€.
λ‘κ±°λ κΈ°λ³Έ ν¨ν€μ§μμ μ΄κΈ°ν λ λ€μ λͺ¨λ ν¨ν€μ§ μμ±μμκ² μ λ¬λμ΄μΌν©λλ€.
μ΄κ²μ μμ£Ό μ’μ λ‘κΉ
ν¨ν€μ§μ
λλ€
github.com/go-kit/kit/log
ꡬν λ°©λ²μ λν μμ λ thanos λλ prometheus νλ‘μ νΈλ₯Ό μ°Έμ‘°νμμμ€.
μ£Όμ μ²λ¦¬ λ λͺ¨λ printf-sλ λλ²κ·Έ λ‘κ·Έλ‘ λ체 λ μ μμΌλ―λ‘ λλ²κΉ
μ΄ νμ±ν λ κ²½μ°μλ§ νμλ©λλ€.
level.Debug(logger).Log("msg", "debug")
μ€λν! νλ‘μ νΈ μ½λ© μ§μΉ¨ νμΈ
https://github.com/tellor-io/telliot/blob/master/docs/coding-style-guide.md
μ€λ μ΄κ±° λ¨Ήκ² μ΅λλ€!
μ
λ°μ΄νΈ : μ΄κ²μ λΆλΆμ μΌλ‘ μνλμμ§λ§ μ¬μ ν printf λ° logrusκ°μλ κ³³μ΄ κ±°μ μμ΅λλ€.
TL-DRμ λͺ¨λ κ³³μμ github.com/go-kit/kit/logλ₯Ό μ¬μ©ν΄μΌν©λλ€. κ΅¬μ± μμλ₯Ό μ΄κΈ°ν ν λ μΈμλ‘ μ λ¬ν΄μΌν©λλ€.
λ¬Έμ μν : 1. λ―Έκ²° 2. μμ 3. μ μΆ 4. μλ£
__ μ΄λ² νΈμλ Tellor-io νλμ μΌλΆλ‘ 0.1 ETH (114.26 USD @ $ 1142.63 / ETH)μ μκΈμ΄ 첨λΆλμ΄ μμ΅λλ€ .__
@ krasi-georgiev λλ μ΄κ²μ μ·¨νκ³ μΆμ§λ§ Gitcoinμ λν κ·νμ μ μμ μ½κ³ Telliot μ½λλ₯Ό μ½μ ν λͺ¨λ μ£Όμ μ²λ¦¬ λ fmt.Printfλ₯Ό level.Debug (logger) .Log (... .) μ°λ¦¬λ μ¬μ©μ κ΄μ μμ λ μλ―Έμλ κ²μ΄ 무μμΈμ§ κ°κ°μ μν©μ κ²°μ ν΄μΌν©λλ€.
μΆλ ₯μ΄ κ°λ°μ κ΄μ μμ λ¬Έμ λ₯Ό κ²μ¬νλ λ° μ μ©ν΄μΌ ν λ λ‘κ·Έ λλ²κ·Έλ₯Ό μ¬μ©νμ§λ§ μ¬μ©μκ° μ½μμ μΆλ ₯μ κΈ°λνλ μν©μ INFO μμ€μ΄μ΄μΌν©λλ€. μλ₯Ό λ€μ΄
https://github.com/tellor-io/telliot/blob/master/pkg/ops/disputeOps.go#L249 -L255
fmt.Printf("Dispute %s (%s):\n", dispute.DisputeId.String(), descString)
fmt.Printf(" Accused Party: %s\n", reportedAddr.Hex())
fmt.Printf(" Disputed by: %s\n", reportingMiner.Hex())
fmt.Printf(" Created on: %s\n", createdTime.Format("3:04 PM January 02, 2006 MST"))
fmt.Printf(" Fee: %s TRB\n", util.FormatERC20Balance(uintVars[8]))
fmt.Printf(" \n")
fmt.Printf(" Value disputed for requestID %d:\n", dispute.RequestId.Uint64())
λ΄κ° νλ Έλ€λ©΄ λλ₯Ό κ³ μ³μ£ΌμΈμ. κ°μ¬!
λ€, λ§€μ° μ¬μ€μ λλ€! λ λ€λ₯Έ κ·μΉμ λ‘κ·Έκ° μμλ λ ν λ² λ°μνλ€λ κ²μ λλ€. μ 보κ°λλ κ²μ μ’μ§λ§, λλΆλΆμ κ²½μ° λ§€μ° μ€μνμ§ μλ ν 루νμμ μ¬λ¬ λ² λ°μνλ©΄ μ΄κ²μ λ무 λ§μ λ Έμ΄μ¦μ΄λ©° λλ²κ·Έν΄μΌν©λλ€.
@ krasi-georgiev μ, μ¬μ©μλ₯Ό μλνμ§ μλ κ²μ΄ ν©λ¦¬μ μ΄μ§λ§ λꡬλ₯Ό μ¬μ©νμ¬ λ‘κ·Έλ₯Ό λΆμνλ €λ μν©μμλ λΆμμμν μ μΌν νΌλλ°±μ΄κΈ° λλ¬Έμ λμ λ³κ²½μ΄ νΌλ μ€λ¬μΈ μ μλ€κ³ μκ°ν©λλ€. μ°λ¦¬λ μ μκ°μ μ¬λ°λ₯Έ κ· νμ μ»μ κ²μ λλ€. μ¬κΈ°μ λͺ κ°μ§ λ³κ²½ μ¬νμ μν ν κ²μ΄λ©°μ΄ νλ‘μ νΈμ λν΄ λ λ§μ΄ λ°°μ°λ©΄ μ’μ μ¬μ©μ κ²½νμ μ ν©ν κ²μ΄ 무μμΈμ§ μ°Ύμ κ²μ λλ€.
μ΄ μμ μ΄ μλ£λλ©΄ λμΌν PRμ λ€μκ³Ό κ°μ makefileμ λ λ§μ lintingμ μΆκ°ν΄μΌν©λλ€.
go-lint: check-git deps $(GOLANGCI_LINT) $(FAILLINT)
$(call require_clean_work_tree,'detected not clean master before running lint, previous job changed something?')
<strong i="6">@echo</strong> ">> verifying modules being imported"
@$(FAILLINT) -paths "errors=github.com/pkg/errors" ./...
@$(FAILLINT) -paths "fmt.{Print,Printf,Println,Sprint}" -ignore-tests ./...
<strong i="7">@echo</strong> ">> linting all of the Go files GOGC=${GOGC}"
@$(GOLANGCI_LINT) run
<strong i="8">@echo</strong> ">> ensuring Copyright headers"
<strong i="9">@go</strong> run ./scripts/copyright
$(call require_clean_work_tree,'detected files without copyright, run make lint and commit changes')
2 κ°μ etra λΌμΈμ λ€μκ³Ό κ°μ΅λλ€.
@$(FAILLINT) -paths "errors=github.com/pkg/errors" ./...
@$(FAILLINT) -paths "fmt.{Print,Printf,Println,Sprint}" -ignore-tests ./...
μ΄κ²μ μ΄λμλ print λ¬Έμ΄ μμΌλ©° pkg/errors
κ° μ΄λμμλ μ¬μ©λλλ‘ κ°μ ν©λλ€.
λ¬Έμ μν : 1. λ―Έκ²° 2. μμ 3. μ μΆ 4. μλ£
__ μμ μ΄ μμλμμ΅λλ€ __.
μ΄ μ¬μ©μλ€μ κ°κ° 6 κ°μ ν 265 λ
κΉμ§ μμ
μ μλ£ ν μ μλ€κ³ μ£Όμ₯νμ΅λλ€.
μλμμ κ·Έλ€μ νλ κ³νμ κ²ν νμμμ€.
1) g33kidd κ° μμ μμμ μ μ²νμ΅λλ€ _ (νλ λ§ ν΄λΉ : μμ μ μΉμΈ | μμ μ κ±°λΆ ) _.
λλ μ΄κ²μ μ°λ¬ λ³Ό κ²μ΄λ€. κ·Έκ²μ ν₯λ―Έλ‘μ΄ μΌμΈ κ² κ°μλ€.
2) voanhcung μ΄ μμ
μμμ μ μ²νμ΅λλ€ _ (μκΈ λ§ ν΄λΉ : μμ
μ μΉμΈ | μμ
μ κ±°λΆ ) _.
Ok [email protected] .......................
3) therocketcat μ΄ μμ
μ μμνλλ‘ μΉμΈλμμ΅λλ€.
μ½λλ² μ΄μ€μ μμ μΈκΈ ν μμ νλ‘μ νΈλ₯Ό μ΄ν΄ 보μμ΅λλ€.
μμ μμ printfλ₯Ό μ¬μ©νλ ν¨μμ μμ±μκ° μμΌλ©΄ λ‘κ±°κ° ν¨μ μ체μ μ’ μμ±μ μ£Όμ ν΄μΌνλ€λ κ²μ μμ§νμ΅λλ€. μ΄κ²μ΄ μ¬μ€μ΄ μλλΌλ©΄ κ±°κΈ°μ μ€λͺ νκ³ μΆμ΅λλ€.
κ·Έλ¦¬κ³ κΈ°λ³Έ ν¨ν€μ§ (telliot / cmd / telliot / main.go)μμλ utilμ SetupLogger ν¨μλ₯Ό μ¬μ©νμ¬ μ€μ λκ³ μμ±μμ μ λ¬λκ±°λ ν¨μμ μ§μ μ½μ λ©λλ€ (첫 λ²μ§Έ λ§€κ° λ³μλ‘).
λν μ½λλ² μ΄μ€λ₯Ό 보면 μ£Όμ μ²λ¦¬ λ printfsλ₯Ό μ°Ύμ μ μμΌλ―λ‘ μΌλ°μ μΌλ‘ printfsλ₯Ό μλ―Ένλ€κ³ κ°μ ν©λκΉ?
RocketCat # 3507 μμ
μ μ€ν΄ ν κ²½μ°μ΄ λ¬Έμ λ₯Ό μΆκ°λ‘ λ
Όμ ν μ μμ΅λλ€.
4) mendesfabio κ° μμ
μμμ μ μ²νμ΅λλ€ _ (μκΈ λ§ ν΄λΉ : μμ
μ μΉμΈ | μμ
μ κ±°λΆ ) _.
λ°©κΈ repoλ₯Ό νμΈνλλ° μΌλΆ printf-sκ° κ΅μ²΄ λ κ² κ°μ΅λλ€ (κ·Έλ¦¬κ³ μ΄λ₯Ό μννλ λ°©λ²μ μ΄ν΄νλ λ° λμμ΄λμμ΅λλ€). μ°λ¦¬λ μ¬μ ν printf-sκ°μλ 10 κ°μ νμΌμ κ°μ§κ³ μμΌλ©° κ·Έκ²μ λ³κ²½ν κ²μ
λλ€.
5) rodrigoadriandiaz κ° μμ
μμμ μ μ²νμ΅λλ€ _ (μκΈ λ§ μ 곡 : μμ
μ μΉμΈ | μμ
μ κ±°λΆ ) _.
μμμ μΈκΈ ν λ‘κΉ
ν¨ν€μ§μ ꡬνμ μν΄ printfμ λν λͺ¨λ νΈμΆμ λ체νμ¬μ΄ μμ
μ μν ν μ μμ΅λλ€. λ΄μΌμ΄ μμ
μ μμν μ μμ΅λλ€.
6) raulcorreia7 μ΄ μμ
μμμ μ μ²νμ΅λλ€ _ (μκΈ λ§ μ 곡 : μμ
μ μΉμΈ | μμ
μ κ±°λΆ ) _.
μλ
νμΈμ,
μ΄κ²μ μκ°ν νμκ° μμ΅λλ€.
DM λ.
7) coder4520 μ΄ μμ
μμμ μ μ²νμ΅λλ€ _ (νλ λ§ ν΄λΉ : μμ
μ μΉμΈ | μμ
μ κ±°λΆ ) _.
μ²μ μμνκΈ°μ μ λ§ μ’μ νλ‘μ νΈλΌκ³ μκ°ν©λλ€.
8) adiprerepa κ° μμ
μμμ μ μ²νμ΅λλ€ _ (μκΈ λ§ μ 곡 : μμ
μ μΉμΈ | μμ
μ κ±°λΆ ) _.
μ΄κ²μ λ§€μ° μ¬μΈ κ²μ
λλ€. printfλ₯Ό μ°Ύμμ λ‘κΉ
μΌλ‘ λ°κΎΌ λ€μ λ€μ νμΈνμμμ€.
9) xf3rno κ° μμ
μμμ μ μ©λμμ΅λλ€ _ (νλ λ§ ν΄λΉ : μμ
μ μΉμΈ | μμ
μ κ±°λΆ ) _.
μμ²ν μμ μ μνν©λλ€. λͺ¨λ νμ¬ λ‘κΉ μ Googleμ golang λ‘κ±° λΌμ΄λΈλ¬λ¦¬ (λ§€μ° κ²½λ : https://github.com/google/logger)λ‘ λ°κΎΈκ³ 컨ν μ€νΈ (λλ²κ·Έ, κ²½κ³ λ±)μ λ°λΌ κ° λ©μμ§μ λ²μλ₯Ό μ§μ ν©λλ€.
Gitcoin λ¬Έμ μΈλΆ μ 보 νμ΄μ§μμ μμΈν μμ보μμμ€.
λ¬Έμ μν : 1. λ―Έκ²° 2. μμ 3. μ μΆ 4. μλ£
__0.1 ETH (167.47 USD @ $ 1674.72 / ETH)μ λν μμ μ΄ __μ μν΄ μ μΆλμμ΅λλ€.