We provide an introduction to the specification language Z from a logical perspective. The possibility of presenting Z in this way is a consequence of a number of joint publications on Z logic that Henson and Reeves have co-written since 1997. We provide an informal as well as a formal introduction to Z logic and show how it may be used, and extended, to investigate issues such as equational logic, the logic of preconditions, operation and data refinement, and monotonicity.