diff options
author | KatolaZ <katolaz@freaknet.org> | 2017-07-03 12:06:31 +0100 |
---|---|---|
committer | KatolaZ <katolaz@freaknet.org> | 2017-07-03 12:06:31 +0100 |
commit | dece484ef755746d7a212694cffae65e2eaee6b8 (patch) | |
tree | c832196914a1f6132fbe6be191d69ee8df7e2833 | |
parent | 4a9c3b4604b308a80984fddb9caf8b79fe553e97 (diff) |
Added a Makefile and log_file option to the config file0.1
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | README.md | 9 | ||||
-rw-r--r-- | binnit.cfg | 2 | ||||
-rw-r--r-- | config.go | 8 | ||||
-rw-r--r-- | main.go | 6 |
5 files changed, 22 insertions, 10 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..18f72b0 --- /dev/null +++ b/Makefile @@ -0,0 +1,7 @@ +GO=go + +all: binnit + +binnit: main.go templ.go config.go + $(GO) build -o binnit main.go templ.go config.go + @@ -1,4 +1,4 @@ -## binit -- minimal pastebin-like in golang +## binnit -- minimal pastebin-like in golang That's just it. Preliminary version of a minimal, no-fuss pastebin-like service in golang. @@ -12,8 +12,9 @@ equal to the paste ID. The unique ID of a paste is obtained from the SHA256 of the concatenation of title, time, and content. Rendering is minimal, but can be enhanced. -`binit` is currently configured through a simple key=value -configuration file. The available options are: +`binnit` is currently configured through a simple key=value +configuration file, whose name can be specified on the command line +through the option `-c <config\_file>`. The available options are: * server\_name (the FQDN where the service is reachable from outside) * bind\_addr (the address to listen on) @@ -22,6 +23,8 @@ configuration file. The available options are: * templ\_dir (the folder where HTML files and templates are kept) * max_size (the maximum allowed length of a paste, in bytes. Larger pastes will be trimmed to that length) +* log_fname (path to the logfile) + ### TODO @@ -20,3 +20,5 @@ templ_dir=./html ## max size of a paste, in bytes (cannot exceed 65535) max_size=16384 +## logfile +log_file="./binnit.log"
\ No newline at end of file @@ -41,8 +41,8 @@ type Config struct { bind_port string paste_dir string templ_dir string - log_fname string max_size uint16 + log_file string } @@ -54,8 +54,8 @@ func (c Config) String() string { s+= "Listening on: " + c.bind_addr + ":" + c.bind_port +"\n" s+= "paste_dir: " + c.paste_dir + "\n" s+= "templ_dir: " + c.templ_dir + "\n" - s+= "log_fname: " + c.log_fname + "\n" s+= "max_size: " + string(c.max_size) + "\n" + s+= "log_file: " + c.log_file + "\n" return s @@ -93,8 +93,8 @@ func parse_config (fname string, c *Config) error { c.paste_dir = strings.Trim(fields[1], " \t\"") case "templ_dir": c.templ_dir = strings.Trim(fields[1], " \t\"") - case "log_fname": - c.log_fname = strings.Trim(fields[1], " \t\"") + case "log_file": + c.log_file = strings.Trim(fields[1], " \t\"") case "max_size": if m_size, err := strconv.ParseUint(fields[1], 10, 16); err == nil { c.max_size = uint16(m_size) @@ -43,8 +43,8 @@ var p_conf = Config{ bind_port: "8000", paste_dir: "./pastes", templ_dir: "./tmpl", - log_fname: "./binnit.log", max_size: 4096, + log_file: "./binnit.log", } @@ -171,9 +171,9 @@ func main() { parse_config("binnit.cfg", &p_conf) - f, err := os.OpenFile(p_conf.log_fname, os.O_APPEND | os.O_CREATE | os.O_RDWR, 0600) + f, err := os.OpenFile(p_conf.log_file, os.O_APPEND | os.O_CREATE | os.O_RDWR, 0600) if err != nil { - fmt.Fprintf(os.Stderr, "Error opening logfile: %s. Exiting\n", p_conf.log_fname) + fmt.Fprintf(os.Stderr, "Error opening log_file: %s. Exiting\n", p_conf.log_file) os.Exit(1) } defer f.Close() |