fix go vet: possible formatting directive in Log call

rename Log to Logf, since it takes format string in the first argument.
diff --git a/ast.go b/ast.go
index 0416306..7ab8137 100644
--- a/ast.go
+++ b/ast.go
@@ -64,7 +64,7 @@
 }
 
 func (ast *AssignAST) show() {
-	Log("%s %s %s %q", ast.opt, ast.lhs, ast.op, ast.rhs)
+	Logf("%s %s %s %q", ast.opt, ast.lhs, ast.op, ast.rhs)
 }
 
 // Note we cannot be sure what this is, until all variables in |expr|
@@ -81,7 +81,7 @@
 }
 
 func (ast *MaybeRuleAST) show() {
-	Log("%s", ast.expr)
+	Logf("%s", ast.expr)
 }
 
 type CommandAST struct {
@@ -94,7 +94,7 @@
 }
 
 func (ast *CommandAST) show() {
-	Log("\t%s", strings.Replace(ast.cmd, "\n", `\n`, -1))
+	Logf("\t%s", strings.Replace(ast.cmd, "\n", `\n`, -1))
 }
 
 type IncludeAST struct {
@@ -108,7 +108,7 @@
 }
 
 func (ast *IncludeAST) show() {
-	Log("include %s", ast.expr)
+	Logf("include %s", ast.expr)
 }
 
 type IfAST struct {
@@ -126,7 +126,7 @@
 
 func (ast *IfAST) show() {
 	// TODO
-	Log("if")
+	Logf("if")
 }
 
 type ExportAST struct {
@@ -141,5 +141,5 @@
 
 func (ast *ExportAST) show() {
 	// TODO
-	Log("export")
+	Logf("export")
 }
diff --git a/dep.go b/dep.go
index 1588331..dfe6d0c 100644
--- a/dep.go
+++ b/dep.go
@@ -133,8 +133,8 @@
 	if len(outputs) != 1 {
 		panic(fmt.Sprintf("Implicit rule should have only one output but %q", outputs))
 	}
-	Log("merge? %q", db.ruleVars)
-	Log("merge? %q", outputs[0])
+	Logf("merge? %q", db.ruleVars)
+	Logf("merge? %q", outputs[0])
 	ivars, present := db.ruleVars[outputs[0]]
 	if !present {
 		return vars
@@ -142,7 +142,7 @@
 	if vars == nil {
 		return ivars
 	}
-	Log("merge!")
+	Logf("merge!")
 	v := make(Vars)
 	v.Merge(ivars)
 	v.Merge(vars)
@@ -223,7 +223,7 @@
 }
 
 func (db *DepBuilder) buildPlan(output string, neededBy string, tsvs Vars) (*DepNode, error) {
-	Log("Evaluating command: %s", output)
+	Logf("Evaluating command: %s", output)
 	db.nodeCnt++
 	if db.nodeCnt%100 == 0 {
 		db.reportStats()
@@ -278,7 +278,7 @@
 
 	var children []*DepNode
 	var actualInputs []string
-	Log("Evaluating command: %s inputs:%q", output, rule.inputs)
+	Logf("Evaluating command: %s inputs:%q", output, rule.inputs)
 	for _, input := range rule.inputs {
 		if len(rule.outputPatterns) > 0 {
 			if len(rule.outputPatterns) > 1 {
diff --git a/eval.go b/eval.go
index 0b620e8..e811e6a 100644
--- a/eval.go
+++ b/eval.go
@@ -76,7 +76,7 @@
 func (ev *Evaluator) evalAssign(ast *AssignAST) {
 	ev.lastRule = nil
 	lhs, rhs := ev.evalAssignAST(ast)
-	Log("ASSIGN: %s=%q (flavor:%q)", lhs, rhs, rhs.Flavor())
+	Logf("ASSIGN: %s=%q (flavor:%q)", lhs, rhs, rhs.Flavor())
 	if len(lhs) == 0 {
 		Error(ast.filename, ast.lineno, "*** empty variable name.")
 	}
@@ -111,7 +111,7 @@
 	}
 	ev.currentScope = vars
 	lhs, rhs := ev.evalAssignAST(assign)
-	Log("rule outputs:%q assign:%q=%q (flavor:%q)", output, lhs, rhs, rhs.Flavor())
+	Logf("rule outputs:%q assign:%q=%q (flavor:%q)", output, lhs, rhs, rhs.Flavor())
 	vars.Assign(lhs, TargetSpecificVar{v: rhs, op: assign.op})
 	ev.currentScope = nil
 }
@@ -128,7 +128,7 @@
 	if ast.term == '=' {
 		line = append(line, ast.afterTerm...)
 	}
-	Log("rule? %q=>%q", ast.expr, line)
+	Logf("rule? %q=>%q", ast.expr, line)
 
 	// See semicolon.mk.
 	if len(bytes.TrimRight(line, " \t\n;")) == 0 {
@@ -145,10 +145,10 @@
 		Error(ast.filename, ast.lineno, "%v", err.Error())
 	}
 	freeBuf(buf)
-	Log("rule %q => outputs:%q, inputs:%q", line, rule.outputs, rule.inputs)
+	Logf("rule %q => outputs:%q, inputs:%q", line, rule.outputs, rule.inputs)
 
 	// TODO: Pretty print.
-	//Log("RULE: %s=%s (%d commands)", lhs, rhs, len(cmds))
+	//Logf("RULE: %s=%s (%d commands)", lhs, rhs, len(cmds))
 
 	if assign != nil {
 		if ast.term == ';' {
@@ -178,7 +178,7 @@
 	if ast.term == ';' {
 		rule.cmds = append(rule.cmds, string(ast.afterTerm[1:]))
 	}
-	Log("rule outputs:%q cmds:%q", rule.outputs, rule.cmds)
+	Logf("rule outputs:%q cmds:%q", rule.outputs, rule.cmds)
 	ev.lastRule = rule
 	ev.outRules = append(ev.outRules, rule)
 }
@@ -253,7 +253,7 @@
 	}()
 	mk, err, ok := LookupMakefileCache(fname)
 	if !ok {
-		Log("Reading makefile %q", fname)
+		Logf("Reading makefile %q", fname)
 		mk, err = ParseMakefile(c, fname)
 	}
 	if err != nil {
@@ -308,7 +308,7 @@
 	ev.filename = ast.filename
 	ev.lineno = ast.lineno
 
-	Log("%s:%d include %q", ev.filename, ev.lineno, ast.expr)
+	Logf("%s:%d include %q", ev.filename, ev.lineno, ast.expr)
 	v, _, err := parseExpr([]byte(ast.expr), nil)
 	if err != nil {
 		panic(err)
@@ -366,7 +366,7 @@
 		val := buf.Len()
 		freeBuf(buf)
 		isTrue = (val > 0) == (ast.op == "ifdef")
-		Log("%s lhs=%q value=%q => %t", ast.op, ast.lhs, value, isTrue)
+		Logf("%s lhs=%q value=%q => %t", ast.op, ast.lhs, value, isTrue)
 	case "ifeq", "ifneq":
 		lexpr := ast.lhs
 		rexpr := ast.rhs
@@ -376,7 +376,7 @@
 		rhs := string(params[1])
 		freeBuf(buf)
 		isTrue = (lhs == rhs) == (ast.op == "ifeq")
-		Log("%s lhs=%q %q rhs=%q %q => %t", ast.op, ast.lhs, lhs, ast.rhs, rhs, isTrue)
+		Logf("%s lhs=%q %q rhs=%q %q => %t", ast.op, ast.lhs, lhs, ast.rhs, rhs, isTrue)
 	default:
 		panic(fmt.Sprintf("unknown if statement: %q", ast.op))
 	}
diff --git a/exec.go b/exec.go
index d694c81..f927c58 100644
--- a/exec.go
+++ b/exec.go
@@ -129,7 +129,7 @@
 func (ex *Executor) makeJobs(n *DepNode, neededBy *Job) error {
 	output := n.Output
 	if neededBy != nil {
-		Log("MakeJob: %s for %s", output, neededBy.n.Output)
+		Logf("MakeJob: %s for %s", output, neededBy.n.Output)
 	}
 	ex.buildCnt++
 	if ex.buildCnt%100 == 0 {
@@ -147,7 +147,7 @@
 				neededBy.numDeps--
 			}
 		} else {
-			Log("%s already done: %d", j.n.Output, j.outputTs)
+			Logf("%s already done: %d", j.n.Output, j.outputTs)
 			if neededBy != nil {
 				ex.wm.ReportNewDep(j, neededBy)
 			}
@@ -177,7 +177,7 @@
 		}
 		deps = append(deps, d)
 	}
-	Log("new: %s (%d)", j.n.Output, j.numDeps)
+	Logf("new: %s (%d)", j.n.Output, j.numDeps)
 
 	for _, d := range deps {
 		ex.trace = append(ex.trace, d.Output)
@@ -267,7 +267,7 @@
 	ev.avoidIO = avoidIO
 	ev.filename = n.Filename
 	ev.lineno = n.Lineno
-	Log("Building: %s cmds:%q", n.Output, n.Cmds)
+	Logf("Building: %s cmds:%q", n.Output, n.Cmds)
 	r := runner{
 		output: n.Output,
 		echo:   true,
diff --git a/func.go b/func.go
index 0b962dd..3a9d736 100644
--- a/func.go
+++ b/func.go
@@ -169,7 +169,7 @@
 	from := fargs[0]
 	to := fargs[1]
 	text := fargs[2]
-	Log("subst from:%q to:%q text:%q", from, to, text)
+	Logf("subst from:%q to:%q text:%q", from, to, text)
 	w.Write(bytes.Replace(text, from, to, -1))
 	freeBuf(abuf)
 }
@@ -601,12 +601,12 @@
 		name := string(ws.Bytes())
 		name, err := filepath.Abs(name)
 		if err != nil {
-			Log("abs: %v", err)
+			Logf("abs: %v", err)
 			continue
 		}
 		name, err = filepath.EvalSymlinks(name)
 		if err != nil {
-			Log("realpath: %v", err)
+			Logf("realpath: %v", err)
 			continue
 		}
 		sw.WriteString(name)
@@ -627,7 +627,7 @@
 		name := string(ws.Bytes())
 		name, err := filepath.Abs(name)
 		if err != nil {
-			Log("abs: %v", err)
+			Logf("abs: %v", err)
 			continue
 		}
 		sw.WriteString(name)
@@ -713,7 +713,7 @@
 	if !bytes.HasPrefix(s, []byte("echo $((")) || s[len(s)-1] != ')' {
 		return false
 	}
-	Log("has no IO - evaluate now: %s", s)
+	Logf("has no IO - evaluate now: %s", s)
 	return true
 }
 
@@ -742,7 +742,7 @@
 	out, err := cmd.Output()
 	shellFuncTime += time.Now().Sub(t)
 	if err != nil {
-		Log("$(shell %q) failed: %q", arg, err)
+		Logf("$(shell %q) failed: %q", arg, err)
 	}
 
 	w.Write(formatCommandOutput(out))
@@ -757,7 +757,7 @@
 	abuf := newBuf()
 	fargs := ev.args(abuf, f.args[1:]...)
 	variable := fargs[0]
-	Log("call %q variable %q", f.args[1], variable)
+	Logf("call %q variable %q", f.args[1], variable)
 	v := ev.LookupVar(string(variable))
 	// Evalualte all arguments first before we modify the table.
 	var args []tmpval
@@ -770,7 +770,7 @@
 	for i, arg := range fargs[1:] {
 		// f.args[2]=>args[1] will be $1.
 		args = append(args, tmpval(arg))
-		Log("call $%d: %q=>%q", i+1, arg, fargs[i+1])
+		Logf("call $%d: %q=>%q", i+1, arg, fargs[i+1])
 	}
 	oldParams := ev.paramVars
 	ev.paramVars = args
@@ -794,7 +794,7 @@
 		restore()
 	}
 	ev.paramVars = oldParams
-	Log("call %q variable %q return %q", f.args[1], variable, buf.Bytes())
+	Logf("call %q variable %q return %q", f.args[1], variable, buf.Bytes())
 	freeBuf(abuf)
 }
 
@@ -817,7 +817,7 @@
 	abuf := newBuf()
 	f.args[1].Eval(abuf, ev)
 	s := abuf.Bytes()
-	Log("eval %q at %s:%d", s, ev.filename, ev.lineno)
+	Logf("eval %q at %s:%d", s, ev.filename, ev.lineno)
 	mk, err := ParseMakefileBytes(s, ev.filename, ev.lineno)
 	if err != nil {
 		panic(err)
@@ -849,7 +849,7 @@
 					rhs = append(rhs, rhsprefix)
 				}
 				rhs = append(rhs, arg[1:]...)
-				Log("eval assign %#v => lhs:%q op:%q rhs:%#v", f, lhs, op, rhs)
+				Logf("eval assign %#v => lhs:%q op:%q rhs:%#v", f, lhs, op, rhs)
 				return &funcEvalAssign{
 					lhs: lhs,
 					op:  op,
@@ -971,7 +971,7 @@
 		}
 		rvalue = RecursiveVar{expr: tmpval(rhs), origin: "file"}
 	}
-	Log("Eval ASSIGN: %s=%q (flavor:%q)", f.lhs, rvalue, rvalue.Flavor())
+	Logf("Eval ASSIGN: %s=%q (flavor:%q)", f.lhs, rvalue, rvalue.Flavor())
 	ev.outVars.Assign(f.lhs, rvalue)
 }
 
diff --git a/log.go b/log.go
index 2fb45ce..c7c7483 100644
--- a/log.go
+++ b/log.go
@@ -22,7 +22,7 @@
 	LogAlways(f, a...)
 }
 
-func Log(f string, a ...interface{}) {
+func Logf(f string, a ...interface{}) {
 	if !katiLogFlag {
 		return
 	}
diff --git a/main.go b/main.go
index bcc6da1..5795bce 100644
--- a/main.go
+++ b/main.go
@@ -184,7 +184,7 @@
 	vars := make(Vars)
 	for _, env := range os.Environ() {
 		kv := strings.SplitN(env, "=", 2)
-		Log("envvar %q", kv)
+		Logf("envvar %q", kv)
 		if len(kv) < 2 {
 			panic(fmt.Sprintf("A weird environ variable %q", kv))
 		}
@@ -196,7 +196,7 @@
 	vars.Assign("MAKEFILE_LIST", SimpleVar{value: []byte{}, origin: "file"})
 	for _, v := range clvars {
 		kv := strings.SplitN(v, "=", 2)
-		Log("cmdlinevar %q", kv)
+		Logf("cmdlinevar %q", kv)
 		if len(kv) < 2 {
 			panic(fmt.Sprintf("unexpected command line var %q", kv))
 		}
diff --git a/parser.go b/parser.go
index d49b600..950ca55 100644
--- a/parser.go
+++ b/parser.go
@@ -174,7 +174,7 @@
 }
 
 func (p *parser) parseAssign(line []byte, sep, esep int) AST {
-	Log("parseAssign %q op:%q", line, line[sep:esep])
+	Logf("parseAssign %q op:%q", line, line[sep:esep])
 	ast := newAssignAST(p, bytes.TrimSpace(line[:sep]), trimLeftSpaceBytes(line[esep:]), string(line[sep:esep]))
 	ast.filename = p.mk.filename
 	ast.lineno = p.lineno
@@ -546,7 +546,7 @@
 		if len(p.inDef) > 0 {
 			line = p.processDefineLine(line)
 			if trimLeftSpace(string(line)) == "endef" {
-				Log("multilineAssign %q", p.inDef)
+				Logf("multilineAssign %q", p.inDef)
 				ast := newAssignAST(p, []byte(p.inDef[0]), []byte(strings.Join(p.inDef[1:], "\n")), "=")
 				ast.filename = p.mk.filename
 				ast.lineno = p.lineno - len(p.inDef)
@@ -648,7 +648,7 @@
 
 /*
 func ParseMakefile(filename string) (Makefile, error) {
-	Log("ParseMakefile %q", filename)
+	Logf("ParseMakefile %q", filename)
 	f, err := os.Open(filename)
 	if err != nil {
 		return Makefile{}, err
@@ -719,12 +719,12 @@
 	if ts < 0 || ts >= c.ts {
 		return Makefile{}, nil, false
 	}
-	Log("Cache hit for %q", filename)
+	Logf("Cache hit for %q", filename)
 	return c.mk, c.err, true
 }
 
 func ParseMakefile(s []byte, filename string) (Makefile, error) {
-	Log("ParseMakefile %q", filename)
+	Logf("ParseMakefile %q", filename)
 	parser := newParser(bytes.NewReader(s), filename)
 	mk, err := parser.parse()
 	makefileCache[filename] = MakefileCache{
diff --git a/strutil.go b/strutil.go
index 57d5545..2fb3c20 100644
--- a/strutil.go
+++ b/strutil.go
@@ -34,7 +34,7 @@
 	if tokStart >= 0 {
 		r = append(r, s[tokStart:])
 	}
-	Log("splitSpace(%q)=%q", s, r)
+	Logf("splitSpace(%q)=%q", s, r)
 	return r
 }
 
@@ -55,7 +55,7 @@
 	if tokStart >= 0 {
 		r = append(r, s[tokStart:])
 	}
-	Log("splitSpace(%q)=%q", s, r)
+	Logf("splitSpace(%q)=%q", s, r)
 	return r
 }
 
diff --git a/worker.go b/worker.go
index 00c2c8a..46743f8 100644
--- a/worker.go
+++ b/worker.go
@@ -243,7 +243,7 @@
 			return
 		}
 		j := heap.Pop(&wm.readyQueue).(*Job)
-		Log("run: %s", j.n.Output)
+		Logf("run: %s", j.n.Output)
 
 		if useParaFlag {
 			j.runners = j.createRunners()
@@ -267,7 +267,7 @@
 func (wm *WorkerManager) updateParents(j *Job) {
 	for _, p := range j.parents {
 		p.numDeps--
-		Log("child: %s (%d)", p.n.Output, p.numDeps)
+		Logf("child: %s (%d)", p.n.Output, p.numDeps)
 		if p.depsTs < j.outputTs {
 			p.depsTs = j.outputTs
 		}
@@ -343,7 +343,7 @@
 		return
 	}
 	heap.Push(&wm.readyQueue, j)
-	Log("ready: %s", j.n.Output)
+	Logf("ready: %s", j.n.Output)
 }
 
 func (wm *WorkerManager) handleNewDep(j *Job, neededBy *Job) {
@@ -362,19 +362,19 @@
 	for wm.hasTodo() || len(wm.busyWorkers) > 0 || len(wm.runnings) > 0 || !done {
 		select {
 		case j := <-wm.jobChan:
-			Log("wait: %s (%d)", j.n.Output, j.numDeps)
+			Logf("wait: %s (%d)", j.n.Output, j.numDeps)
 			j.id = len(wm.jobs) + 1
 			wm.jobs = append(wm.jobs, j)
 			wm.maybePushToReadyQueue(j)
 		case jr := <-wm.resultChan:
-			Log("done: %s", jr.j.n.Output)
+			Logf("done: %s", jr.j.n.Output)
 			delete(wm.busyWorkers, jr.w)
 			wm.freeWorkers = append(wm.freeWorkers, jr.w)
 			wm.updateParents(jr.j)
 			wm.finishCnt++
 		case af := <-wm.newDepChan:
 			wm.handleNewDep(af.j, af.neededBy)
-			Log("dep: %s (%d) %s", af.neededBy.n.Output, af.neededBy.numDeps, af.j.n.Output)
+			Logf("dep: %s (%d) %s", af.neededBy.n.Output, af.neededBy.numDeps, af.j.n.Output)
 		case pr := <-wm.paraChan:
 			if pr.status < 0 && pr.signal < 0 {
 				j := wm.runnings[pr.output]
@@ -400,14 +400,14 @@
 			if numBusy > jobsFlag {
 				numBusy = jobsFlag
 			}
-			Log("job=%d ready=%d free=%d busy=%d", len(wm.jobs)-wm.finishCnt, wm.readyQueue.Len(), jobsFlag-numBusy, numBusy)
+			Logf("job=%d ready=%d free=%d busy=%d", len(wm.jobs)-wm.finishCnt, wm.readyQueue.Len(), jobsFlag-numBusy, numBusy)
 		} else {
-			Log("job=%d ready=%d free=%d busy=%d", len(wm.jobs)-wm.finishCnt, wm.readyQueue.Len(), len(wm.freeWorkers), len(wm.busyWorkers))
+			Logf("job=%d ready=%d free=%d busy=%d", len(wm.jobs)-wm.finishCnt, wm.readyQueue.Len(), len(wm.freeWorkers), len(wm.busyWorkers))
 		}
 	}
 
 	if useParaFlag {
-		Log("Wait for para to finish")
+		Logf("Wait for para to finish")
 		wm.para.Wait()
 	} else {
 		for _, w := range wm.freeWorkers {