td-agent에서 kafka2 타입으로 연결하다 에러가 발생했다.



Send exception occurred: Could not connect to any of the seed brokers:

- kafka://1.1.1.1:9092 Connection error EOFError: EOFError



설정에서 topic_key 대신

topic_key ${토픽 이름}



으로 변경하니 더이상 에러도 안나고 잘 동작 했다.


default_topic  ${토픽 이름}


Posted by '김용환'
,





인텔리J에서 Intellij에서 한 프로젝트 열고 여러 프로젝트 임포트하려면...


File > New > Module from Existing Sources…


를 이용한다.



Posted by '김용환'
,


sentry 1.7.x 에서

sentry 설정을 제대로 한 것 같은 데 에러가 아래와 같이 발생할 수 있다.



<appender
name="SENTRY" class="io.sentry.logback.SentryAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
</appender>

<root level="INFO">
<appender-ref ref="ROLLING" />
<appender-ref ref="STDOUT" />
<appender-ref ref="SENTRY"/>
</root>


ERROR in ch.qos.logback.core.joran.action.AppenderAction - Could not create an Appender of type [io.sentry.logback.SentryAppender]. ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type io.sentry.logback.SentryAppender


이유는 다음 io.sentry:sentry-logback도 함께 추가했어야 했는데. 못했기 때문에 에러가 발생한 것이다.


<dependency>

    <groupId>io.sentry</groupId>

    <artifactId>sentry-logback</artifactId>

    <version>1.7.16</version>

</dependency>



Posted by '김용환'
,

sentry-logback 연동

etc tools 2019. 3. 12. 16:37


sentry는 계속 변화되고 있다. 따라서 공식 문서를 보는 것을 가장 추천한다. 




logback에 sentry 연동 코드를 추가하는 정보이다.


sentry 서버를 아래대로 따라 설치한 후, cdn키를 (https://주소/프로젝트/settings/key) 복사한다.


UI만 참고하기 ': https://kykkyn2.tistory.com/74,  https://www.lesstif.com/pages/viewpage.action?pageId=30705133







https://docs.sentry.io/clients/java/



logback 설정은 대략 다음과 같다. 

<appender name="SENTRY" class="io.sentry.logback.SentryAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
</appender>

<root level="INFO">
<appender-ref ref="ROLLING" />
<appender-ref ref="STDOUT" />
<appender-ref ref="SENTRY"/>
</root>


라이브러리는 다음을 추가한다.(sbt 기준)

"io.sentry" % "sentry" % "1.7.16",
"io.sentry" % "sentry-logback" % "1.7.16"

sentry.properties는 다음과 같이 저장한다(classpath에만 두면 sentry 코드에서 알아서 읽는다)

dsn=https://111:222@clog.google.com/315?timeout=300&async.queuesize=100
release=1.0.0
stacktrace.app.packages=





Posted by '김용환'
,



오랜만에 make를 쓰다보니 실수한 게 있다.


아래와 같은 에러를 만나면 탭(tab) 대신 스페이스(space)가 코드에 안에 있다고 알린다.


스페이스를 없애고 탭을 추가하면 더 이상 에러가 발생하지 않는다.

 


:makefile:4: *** missing separator.  Stop.




Posted by '김용환'
,





깃허브를 깃 서버로 사용한다면 깃허브 웹 사이트에서 SSH 키 지문(http://bit.ly/1DffcxK)을 조회할 수 있다.


이 글을 쓰는 시점에서 깃허브의 base64 포맷의 SHA256 RSA 지문(최신 포맷)은 SHA256:abc...이며 16진수 MD5 RSA 지문(이전 포맷)은 11:22:33:...:44의 포맷이다.


OpenSSH 6.8에서 기본 지문 포맷을 16진수 MD5에서 base64 SHA256으로 변경했고 현재 번역하는 시점의 7.9에서도 여전히 동일한 포맷을 사용 중이다


https://www.openssh.com/txt/release-7.9


Posted by '김용환'
,



git 저장소의 도메인이 다른 경우 이사하고 싶은 경우가 있다.


기존에 사용하던 기존 환경(브랜치, pull, refs)과 동일하게 하고 싶다면, 


기존 저장소의 url을 사용해 git clone --mirror url 로 로컬로 다운받은 후, 


새로운 저장소에 push하면 된다.





git clone 방식은 3방식으로 우선 확인하면 명확하게 이해를 얻을 수 있다.


git clone url git_general


git clone --bare url git_bare


git clone --mirror url git_mirror






diff를 통해서 확인해보면 명확하게 이해할 수 있다. deep하게 모든 내용을 다운받는 것은 mirror 밖에 없다.



나머지에 대한 자세한 내용은 아래 링크를 참조한다.


http://pinocc.tistory.com/138

Posted by '김용환'
,



atom 에디터의 장점은 mac command line에서 command 로 atom을 사용할 수 있다는 점인데.


vscode는 이게 없다. 



그러나,


.bash_rc 또는 .bash_profile에


 alias code='open $@ -a "Visual Studio Code"' 를 추가하면 비슷한 기능이 된다.



Posted by '김용환'
,



Squirrel SQL 클라이트 툴에 

https://acadgild.com/blog/squirrel-gui-phoenix


MACOS에서 Squirrel SQL을 설치했지만 실행이 되지 않는다. 아마도 path 이슈일 것 같다.





간단히 해결한 방법은 다음과 같다.


먼저 설치 jar로 설치하고 디폴트 설치 위치로 /Applications/SQuirreLSQL.app/에 두게 한다.




alias squirrel='/Applications/SQuirreLSQL.app/Contents/MacOS/squirrel-sql.sh'


mkdir -p /Applications/SQuirreLSQL.app/Contents/MacOS/lib/


cp /Applications/SQuirreLSQL.app/Contents/Resources/Java/lib/* /Applications/SQuirreLSQL.app/Contents/MacOS/lib/


cp /Applications/SQuirreLSQL.app/Contents/Resources/Java/squirrel-sql.jar  /Applications/SQuirreLSQL.app/Contents/MacOS/




squirrel을 실행하면 클라이언트 툴이 실행된다.



Posted by '김용환'
,


pull requst할 때 자주 발생할 수 있는 것으로


원격 리모트의 새로운 브랜치가 추가되었고 이를 기반으로 pull request를 하려고 그냥 브랜치를 받고 pr하면 history가 꼬인다.


따라서 pr할 원격 리모트와 연결한 후 git checkout 받고 자신의 저장소에 push한다.


$ git checkout -b dev real/dev

$ git push origin dev





상황에 따라 upstream을 수동으로 연동해야 할 수도 있다.


$ git branch --set-upstream-to origin/dev

Posted by '김용환'
,