fixed logging

indexv1
Jakub Matys 2018-04-12 15:23:16 +02:00
parent 6c1e114074
commit a37ccdaee0
19 changed files with 48 additions and 79 deletions

View File

@ -79,12 +79,14 @@ var (
chanOsSignal chan os.Signal
)
func init() {
glog.MaxSize = 1024 * 1024
glog.CopyStandardLogTo("INFO")
}
func main() {
flag.Parse()
// override setting for glog to log only to stderr, to match the http handler
flag.Lookup("logtostderr").Value.Set("true")
defer glog.Flush()
chanOsSignal = make(chan os.Signal, 1)

View File

@ -5,7 +5,7 @@ FROM debian:9
RUN apt-get update && \
apt-get install -y build-essential git wget pkg-config lxc-dev libzmq3-dev \
libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev \
liblz4-dev graphviz upx-ucl && \
liblz4-dev graphviz && \
apt-get clean
ENV GOLANG_VERSION=go1.10.linux-amd64

View File

@ -1,6 +1,5 @@
build: prepare-sources
cd $(GOPATH)/src/blockbook && go build -o $(CURDIR)/blockbook -ldflags="-s -w"
upx $(CURDIR)/blockbook
cp $(CURDIR)/blockbook /out/blockbook
chown $(PACKAGER) /out/blockbook

View File

@ -3,7 +3,7 @@ set -e
cp -r /src/build/deb/debian .
cp -r /src/configs .
mkdir server && cp /src/server/testcert.* server
mkdir server && cp -r /src/server/testcert.* /src/server/static server
dpkg-buildpackage -us -uc
mv ../*.deb /out

View File

@ -1,4 +1,5 @@
#!/usr/bin/dh-exec
blockbook /opt/blockbook/btc-testnet/bin
server/testcert.* /opt/blockbook/btc-testnet/cert
server/static /opt/blockbook/btc-testnet
configs/btc-testnet.json => /opt/blockbook/btc-testnet/config/blockchaincfg.json

View File

@ -1,9 +0,0 @@
/opt/blockbook/btc-testnet/logs/blockbook.log
{
rotate 7
daily
compress
missingok
notifempty
copytruncate
}

View File

@ -9,10 +9,13 @@ case "$1" in
useradd --system -M -U blockbook
fi
if [ "$(stat -c '%U' /data/btc-testnet/blockbook)" != "blockbook" ]
then
chown -R blockbook:blockbook /data/btc-testnet/blockbook
fi
for dir in /data/btc-testnet/blockbook /opt/blockbook/btc-testnet/logs
do
if [ "$(stat -c '%U' $dir)" != "blockbook" ]
then
chown -R blockbook:blockbook $dir
fi
done
;;
esac

View File

@ -9,15 +9,11 @@ Description=Blockbook daemon (BTC testnet)
After=network.target
[Service]
ExecStart=/opt/blockbook/btc-testnet/bin/blockbook -coin=btc-testnet -blockchaincfg=/opt/blockbook/btc-testnet/config/blockchaincfg.json -datadir=/data/btc-testnet/blockbook/db -sync -httpserver=:18335 -socketio=:18336 -certfile=/opt/blockbook/btc-testnet/cert/blockbook -explorer=https://bitcore1.trezor.io/
# Creates /run/blockbook owned by blockbook
RuntimeDirectory=blockbook
ExecStart=/opt/blockbook/btc-testnet/bin/blockbook -coin=btc-testnet -blockchaincfg=/opt/blockbook/btc-testnet/config/blockchaincfg.json -datadir=/data/btc-testnet/blockbook/db -sync -httpserver=:18335 -socketio=:18336 -certfile=/opt/blockbook/btc-testnet/cert/blockbook -explorer=https://bitcore1.trezor.io/ -log_dir=/opt/blockbook/btc-testnet/logs
User=blockbook
# Type=forking
# PIDFile=/run/bitcoind/btc-testnet.pid
Type=simple
Restart=on-failure
StandardOutput=file:/opt/blockbook/btc-testnet/logs/blockbook.log
StandardError=file:/opt/blockbook/btc-testnet/logs/blockbook.log
WorkingDirectory=/opt/blockbook/btc-testnet
# Hardening measures
####################

View File

@ -1,4 +1,5 @@
#!/usr/bin/dh-exec
blockbook /opt/blockbook/btc/bin
server/testcert.* /opt/blockbook/btc/cert
server/static /opt/blockbook/btc
configs/btc.json => /opt/blockbook/btc/config/blockchaincfg.json

View File

@ -1,9 +0,0 @@
/opt/blockbook/btc/logs/blockbook.log
{
rotate 7
daily
compress
missingok
notifempty
copytruncate
}

View File

@ -9,10 +9,13 @@ case "$1" in
useradd --system -M -U blockbook
fi
if [ "$(stat -c '%U' /data/btc/blockbook)" != "blockbook" ]
then
chown -R blockbook:blockbook /data/btc/blockbook
fi
for dir in /data/btc/blockbook /opt/blockbook/btc/logs
do
if [ "$(stat -c '%U' $dir)" != "blockbook" ]
then
chown -R blockbook:blockbook $dir
fi
done
;;
esac

View File

@ -9,15 +9,11 @@ Description=Blockbook daemon (BTC mainnet)
After=network.target
[Service]
ExecStart=/opt/blockbook/btc/bin/blockbook -coin=btc -blockchaincfg=/opt/blockbook/btc/config/blockchaincfg.json -datadir=/data/btc/blockbook/db -sync -httpserver=:8335 -socketio=:8336 -certfile=/opt/blockbook/btc/cert/blockbook -explorer=https://bitcore1.trezor.io/
# Creates /run/blockbook owned by blockbook
RuntimeDirectory=blockbook
ExecStart=/opt/blockbook/btc/bin/blockbook -coin=btc -blockchaincfg=/opt/blockbook/btc/config/blockchaincfg.json -datadir=/data/btc/blockbook/db -sync -httpserver=:8335 -socketio=:8336 -certfile=/opt/blockbook/btc/cert/blockbook -explorer=https://bitcore1.trezor.io/ -log_dir=/opt/blockbook/btc/logs
User=blockbook
# Type=forking
# PIDFile=/run/bitcoind/btc.pid
Type=simple
Restart=on-failure
StandardOutput=file:/opt/blockbook/btc/logs/blockbook.log
StandardError=file:/opt/blockbook/btc/logs/blockbook.log
WorkingDirectory=/opt/blockbook/btc
# Hardening measures
####################

View File

@ -1,4 +1,5 @@
#!/usr/bin/dh-exec --with=install
blockbook /opt/blockbook/zec/bin
server/testcert.* /opt/blockbook/zec/cert
server/static /opt/blockbook/zec
configs/zec.json => /opt/blockbook/zec/config/blockchaincfg.json

View File

@ -1,9 +0,0 @@
/opt/blockbook/zec/logs/blockbook.log
{
rotate 7
daily
compress
missingok
notifempty
copytruncate
}

View File

@ -9,10 +9,13 @@ case "$1" in
useradd --system -M -U blockbook
fi
if [ "$(stat -c '%U' /data/zec/blockbook)" != "blockbook" ]
then
chown -R blockbook:blockbook /data/zec/blockbook
fi
for dir in /data/zec/blockbook /opt/blockbook/zec/logs
do
if [ "$(stat -c '%U' $dir)" != "blockbook" ]
then
chown -R blockbook:blockbook $dir
fi
done
;;
esac

View File

@ -9,15 +9,11 @@ Description=Blockbook daemon (ZEC mainnet)
After=network.target
[Service]
ExecStart=/opt/blockbook/zec/bin/blockbook -coin=zec -blockchaincfg=/opt/blockbook/zec/config/blockchaincfg.json -datadir=/data/zec/blockbook/db -sync -httpserver=:8235 -socketio=:8236 -certfile=/opt/blockbook/zec/cert/blockbook -explorer=https://zec-bitcore1.trezor.io/
# Creates /run/blockbook owned by blockbook
RuntimeDirectory=blockbook
ExecStart=/opt/blockbook/zec/bin/blockbook -coin=zec -blockchaincfg=/opt/blockbook/zec/config/blockchaincfg.json -datadir=/data/zec/blockbook/db -sync -httpserver=:8235 -socketio=:8236 -certfile=/opt/blockbook/zec/cert/blockbook -explorer=https://zec-bitcore1.trezor.io/ -log_dir=/opt/blockbook/zec/logs
User=blockbook
# Type=forking
# PIDFile=/run/bitcoind/zec.pid
Type=simple
Restart=on-failure
StandardOutput=file:/opt/blockbook/zec/logs/blockbook.log
StandardError=file:/opt/blockbook/zec/logs/blockbook.log
WorkingDirectory=/opt/blockbook/zec
# Hardening measures
####################

View File

@ -2,20 +2,20 @@ Source: blockbook
Section: satoshilabs
Priority: optional
Maintainer: jakub.matys@satoshilabs.com
Build-Depends: debhelper, dh-systemd, dh-exec, upx
Build-Depends: debhelper, dh-systemd, dh-exec
Standards-Version: 3.9.5
Package: blockbook-btc
Architecture: amd64
Depends: ${shlibs:Depends}, ${misc:Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}, coreutils, passwd, findutils
Description: Satoshilabs blockbook server
Package: blockbook-btc-testnet
Architecture: amd64
Depends: ${shlibs:Depends}, ${misc:Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}, coreutils, passwd, findutils
Description: Satoshilabs blockbook server
Package: blockbook-zec
Architecture: amd64
Depends: ${shlibs:Depends}, ${misc:Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}, coreutils, passwd, findutils
Description: Satoshilabs blockbook server

View File

@ -8,12 +8,10 @@ import (
"errors"
"fmt"
"net/http"
"os"
"strconv"
"github.com/golang/glog"
"github.com/gorilla/handlers"
"github.com/gorilla/mux"
"github.com/prometheus/client_golang/prometheus/promhttp"
)
@ -30,8 +28,10 @@ type HTTPServer struct {
// NewHTTPServer creates new REST interface to blockbook and returns its handle
func NewHTTPServer(httpServerBinding string, certFiles string, db *db.RocksDB, chain bchain.BlockChain, txCache *db.TxCache) (*HTTPServer, error) {
r := mux.NewRouter()
https := &http.Server{
Addr: httpServerBinding,
Addr: httpServerBinding,
Handler: r,
}
s := &HTTPServer{
https: https,
@ -42,7 +42,6 @@ func NewHTTPServer(httpServerBinding string, certFiles string, db *db.RocksDB, c
chainParser: chain.GetChainParser(),
}
r := mux.NewRouter()
r.HandleFunc("/", s.info)
r.HandleFunc("/bestBlockHash", s.bestBlockHash)
r.HandleFunc("/blockHash/{height}", s.blockHash)
@ -51,10 +50,6 @@ func NewHTTPServer(httpServerBinding string, certFiles string, db *db.RocksDB, c
r.HandleFunc("/unconfirmedTransactions/{address}", s.unconfirmedTransactions)
r.HandleFunc("/metrics", promhttp.Handler().ServeHTTP)
var h http.Handler = r
h = handlers.LoggingHandler(os.Stderr, h)
https.Handler = h
return s, nil
}

View File

@ -76,7 +76,7 @@ func NewSocketIoServer(binding string, certFiles string, db *db.RocksDB, chain b
}
// support for tests of socket.io interface
serveMux.Handle(path+"test.html", http.FileServer(http.Dir("./server/static/")))
serveMux.Handle(path+"test.html", http.FileServer(http.Dir("./static/")))
// redirect to Bitcore for details of transaction
serveMux.HandleFunc(path+"tx/", s.txRedirect)
// handle socket.io